*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.right-4{right:1rem}.top-4{top:1rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mt-1{margin-top:-.25rem}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[180px\]{max-height:180px}.w-10{width:2.5rem}.w-12{width:3rem}.w-72{width:18rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-\[180px\]{max-width:180px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.pt-2{padding-top:.5rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[0\.85em\]{font-size:.85em}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.accent-blue-500{accent-color:#3b82f6}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg-canvas:#f9fafb;--bg-surface:#fff;--bg-bubble-user:#2563eb;--bg-bubble-asst:#fff;--text-bubble-user:#fff;--bg-thinking:#fffbeb;--border-subtle:rgba(15,23,42,.06);--border-default:rgba(15,23,42,.1);--border-bubble-asst:#f3f4f6;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent:#3b82f6;--accent-hover:#2563eb;--shadow-soft:0 1px 3px rgba(0,0,0,.05);--shadow-pop:0 8px 24px rgba(0,0,0,.08);--radius-card:1rem;--radius-bubble:1rem;--radius-input:0.75rem}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Noto Sans TC,PingFang TC,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;letter-spacing:-.005em}.msg-assistant,.msg-user{line-height:1.65}.font-mono,code,pre{font-feature-settings:"calt" off,"tnum"}.msg-usage,.usage-meta{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.msg-row{position:relative;display:block}.msg-role{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:1.25rem 0 .375rem}.msg-user{background:var(--bg-bubble-user);color:var(--text-bubble-user);border-radius:var(--radius-bubble);padding:.875rem 1rem;font-size:.9rem;box-shadow:var(--shadow-soft)}.msg-user code{background:hsla(0,0%,100%,.2);color:inherit}.msg-user a{color:inherit;text-decoration:underline}.msg-assistant{background:var(--bg-bubble-asst);color:var(--text-primary);border-radius:var(--radius-bubble);padding:.875rem 1rem;font-size:.9rem;border:1px solid var(--border-bubble-asst)}.msg-assistant,.msg-thinking{box-shadow:var(--shadow-soft);white-space:pre-wrap}.msg-thinking{background:var(--bg-thinking);border-radius:var(--radius-bubble);padding:.625rem .875rem;font-size:.78rem;color:var(--text-secondary);border:1px solid var(--border-subtle)}.msg-thinking summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem;list-style:none}.msg-thinking summary::-webkit-details-marker{display:none}.msg-thinking summary:before{content:"▸";font-size:.75rem;transition:transform .18s ease}.msg-thinking[open] summary:before{transform:rotate(90deg)}.msg-thinking[data-started-at] .mt-1{max-height:12em;overflow-y:auto;scroll-behavior:auto;contain:layout}#messages{overflow-anchor:auto}#messages,.msg-group{contain:layout}.msg-thinking-time{margin-left:auto;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.toast{pointer-events:auto;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #3b82f6;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);min-width:240px;max-width:360px}.toast.kind-error{border-left-color:#e11d48;background:#fff1f2}.toast.kind-warn{border-left-color:#d97706;background:#fffbeb}.toast.kind-info{border-left-color:#3b82f6}.banner{padding:.5rem .75rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.banner.kind-error{background:#fff1f2;color:#9f1239}.banner.kind-warn{background:#fffbeb;color:#92400e}.banner-dismiss{margin-left:auto;cursor:pointer;opacity:.6}.banner-dismiss:hover{opacity:1}.conv-item{padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;gap:.25rem}.conv-item:hover{background-color:#f1f5f9}.conv-item.active{background-color:#dbeafe}.conv-item .conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-item .conv-pin{font-size:.75rem;opacity:.6}.conv-item .conv-pin.is-pinned{opacity:1;color:#d97706}.conv-item .conv-actions{display:none;gap:.25rem}.conv-item:hover .conv-actions{display:flex}.conv-item .conv-action{font-size:.75rem;opacity:.5;cursor:pointer}.conv-item .conv-action:hover{opacity:1}.submit-btn{background-color:#3b82f6;color:#fff;padding:0 .75rem;border-radius:.5rem;font-size:.875rem;flex-shrink:0}.submit-btn:hover{background-color:#2563eb}.submit-btn.is-streaming{background-color:#e11d48}.submit-btn.is-streaming:hover{background-color:#be123c}.msg-rail.msg-rail-floating{position:absolute;top:.375rem;right:.5rem;flex-direction:row;background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:9999px;padding:.125rem;box-shadow:var(--shadow-soft);opacity:0;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.msg-row:hover .msg-rail-floating{opacity:1;transform:translateY(0)}@media (hover:none),(max-width:767px){.msg-rail.msg-rail-floating{position:static;opacity:1;transform:none;flex-direction:row;background:transparent;border:none;box-shadow:none;padding:.25rem 0;margin-top:.375rem}}.msg-meta{margin:.375rem 0 .5rem;font-size:.75rem;font-variant-numeric:tabular-nums}.msg-meta,.msg-usage{color:var(--text-muted);text-align:right}.msg-usage{font-size:.6875rem;margin-top:.25rem;font-variant-numeric:tabular-nums}.msg-rail-btn{font-size:.75rem;padding:.25rem .375rem;cursor:pointer;border:none;background:transparent}.msg-rail-btn:hover{background:var(--bg-surface);border-radius:.25rem}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6}.sidebar-brand-logo{width:2.25rem;height:2.25rem;border-radius:.75rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-brand-text{font-size:.875rem;font-weight:700;color:#111827}.sidebar-brand-model{font-size:.75rem;color:#9ca3af;font-weight:400}.model-select{max-width:11rem;border:0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.model-select:focus{outline:none}.model-select:disabled{cursor:default}html.dark .model-select{color:#d1d5db}html.dark .model-select option{background:#1f2937;color:#d1d5db}.header-health-dot{display:inline-block;width:.375rem;height:.375rem;border-radius:9999px;background-color:#9ca3af;font-size:0;line-height:0;flex-shrink:0}.header-health-dot.is-ok{background-color:#4ade80}.header-health-dot.is-warn{background-color:#facc15}.header-health-dot.is-error{background-color:#f87171}.sidebar-scrollable{flex:1;overflow-y:auto;display:flex;flex-direction:column}.sidebar-settings{border-top:1px solid #f3f4f6;margin-top:.5rem;padding:.25rem 0}.sidebar-section{border-bottom:1px solid #f3f4f6}.sidebar-section[open]{padding-bottom:.25rem}.sidebar-section-title{display:flex;align-items:center;gap:.375rem;cursor:pointer;padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none}.sidebar-section-title::-webkit-details-marker{display:none}.sidebar-section-title:before{content:"▸";font-size:.625rem;transition:transform .15s ease;color:var(--text-muted)}.sidebar-section[open]>.sidebar-section-title:before{transform:rotate(90deg)}.sidebar-section-title:hover{color:var(--text-secondary)}.sidebar-section-body{padding:0 1rem .5rem}.sidebar-section-dot{width:.375rem;height:.375rem;border-radius:9999px;background:var(--accent);display:none}.sidebar-param-grid{display:grid;grid-template-columns:auto 1fr;gap:.25rem .5rem;align-items:center}.sidebar-param-label{font-size:.75rem;color:var(--text-secondary)}.sidebar-param-input{width:100%;border:1px solid #e5e7eb;background:#f9fafb;border-radius:.5rem;padding:.25rem .5rem;font-size:.75rem;color:var(--text-primary);transition:border-color .12s,background-color .12s}.sidebar-param-input:focus{border-color:var(--accent);background:#fff;outline:none}.sidebar-footer{border-top:1px solid #f3f4f6;padding:.5rem 1rem}@media (max-width:1023px){aside[data-drawer=left].is-mobile-drawer{position:fixed;top:0;bottom:0;left:0;z-index:40;width:288px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--shadow-pop)}aside[data-drawer=left].is-mobile-drawer.is-open{transform:translateX(0)}.drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:30}.drawer-backdrop.is-open{display:block}}.hljs-built_in,.hljs-keyword{color:#ff7b72}.hljs-string{color:#a5d6ff}.hljs-comment{color:#8b949e;font-style:italic}.hljs-number{color:#79c0ff}.hljs-function .hljs-title,.hljs-title.function_{color:#d2a8ff}.hljs-variable{color:#ffa657}.hljs-attr{color:#79c0ff}.hljs-tag{color:#7ee787}.dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;display:flex;align-items:center;justify-content:center}.dialog{background:#fff;border-radius:.5rem;padding:1rem 1.25rem;min-width:280px;max-width:90vw;box-shadow:0 10px 25px rgba(0,0,0,.2)}.dialog-input,.dialog-msg{font-size:.875rem;margin-bottom:.75rem}.dialog-input{width:100%;padding:.375rem .5rem;border:1px solid #cbd5e1;border-radius:.25rem}.dialog-actions{display:flex;gap:.5rem;justify-content:flex-end}.dialog-btn{padding:.375rem .75rem;border-radius:.25rem;font-size:.875rem;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.dialog-btn:hover{background:#f1f5f9}.dialog-btn.is-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.dialog-btn.is-primary:hover{background:#2563eb}.conv-title-input{flex:1;font-size:.875rem;padding:.125rem .25rem;border:1px solid #cbd5e1;border-radius:.25rem;background:#fff;color:#0f172a;min-width:0}#composer.is-dnd-active{outline:2px dashed #3b82f6;outline-offset:-4px;background:rgba(59,130,246,.05)}.cheatsheet-list{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.875rem}.cheatsheet-combo{font-family:ui-monospace,monospace;background:#f1f5f9;padding:.125rem .375rem;border-radius:.25rem;color:#334155}.search-modal{min-width:360px;max-width:90vw}.search-modal .dialog-input{margin-bottom:.5rem}.search-result{padding:.375rem .5rem;border-radius:.25rem;cursor:pointer;font-size:.875rem}.search-result:hover{background:#f1f5f9}.search-result.is-active{background:#dbeafe}.search-empty{padding:.5rem;color:#94a3b8;font-size:.875rem;text-align:center}.preset-chips{display:flex;gap:.25rem;margin-bottom:.5rem}.preset-chip{padding:.25rem .5rem;font-size:.75rem;border-radius:9999px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;color:#334155}.preset-chip:hover{background:#f1f5f9}.preset-chip.is-active{background:#3b82f6;color:#fff;border-color:#3b82f6}.preset-chip.is-custom{font-style:italic;opacity:.85;pointer-events:none}@media (max-width:1023px){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}@media (max-width:767px){.tap-target{min-width:2.75rem;display:inline-flex;align-items:center;justify-content:center}#new-chat,.msg-rail-btn,.submit-btn,.tap-target{min-height:2.75rem}.msg-rail-btn{min-width:2.75rem}.preset-chip{min-height:2.25rem;padding:.375rem .75rem}.conv-action{min-height:2.25rem;min-width:2.25rem}}.composer-shell{border-top:1px solid var(--border-subtle);padding:.75rem 1rem .5rem}.composer-inner{display:flex;gap:.5rem;align-items:flex-end;border:1px solid var(--border-default);border-radius:1.5rem;padding:.625rem .75rem;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.composer-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.18)}.composer-icon-btn{border:none;background:transparent;padding:.25rem .5rem;font-size:1rem;cursor:pointer;border-radius:.375rem;flex-shrink:0}.composer-icon-btn:hover{background:var(--bg-surface)}.composer-textarea{flex:1;border:none;background:transparent;resize:none;font-size:.9rem;color:var(--text-primary);outline:none;padding:.25rem;line-height:1.5}.composer-helper{margin-top:.375rem;font-size:.7rem;color:var(--text-muted);text-align:right;opacity:0;transition:opacity .2s ease;pointer-events:none}.composer-shell:focus-within .composer-helper{opacity:1}.composer-shell.is-dnd-active .composer-inner{outline:2px dashed var(--accent);outline-offset:-4px;background:rgba(59,130,246,.05)}@media (max-width:767px){.chat-section #composer{position:sticky;bottom:0;background-color:#f9fafb;border-top:1px solid #e5e7eb;z-index:5}#attachment-preview{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}#attachment-preview::-webkit-scrollbar{height:4px}.submit-btn{min-width:4rem;padding:0 1rem}}.action-sheet{width:90vw;max-width:360px;display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.action-sheet-btn{width:100%;text-align:center;padding:.75rem 1rem}#mobile-search-fab{position:fixed;right:1rem;bottom:calc(env(safe-area-inset-bottom, 0) + 6rem);width:3rem;height:3rem;border-radius:9999px;background:#3b82f6;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:35;border:none;cursor:pointer;transition:transform .1s ease,background-color .15s ease}#mobile-search-fab:hover{background:#2563eb}#mobile-search-fab:active{transform:scale(.95)}#mobile-search-fab:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #3b82f6,0 4px 12px rgba(0,0,0,.15)}body:has(aside.is-mobile-drawer.is-open) #mobile-search-fab{display:none}@keyframes msg-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-group{animation:msg-fade-in .18s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}.toast{animation:toast-slide-in .2s ease-out}.msg-assistant,.msg-thinking,.msg-user,body{transition:background-color .15s ease,color .15s ease}.empty-state{flex-direction:column;text-align:center;padding:4rem 1rem;color:var(--text-secondary)}.empty-state,.empty-state-logo{display:flex;align-items:center;justify-content:center}.empty-state-logo{width:4rem;height:4rem;border-radius:1rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-weight:700;font-size:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-pop)}.empty-state-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.empty-state-sub{font-size:.875rem;color:var(--text-muted);margin-top:.25rem;margin-bottom:1.5rem}.empty-state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;width:100%;max-width:36rem}.empty-state-card{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:1rem;text-align:left;cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s;font:inherit;color:inherit}.empty-state-card:hover{border-color:var(--border-default);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.empty-state-card-icon{font-size:1.25rem;margin-bottom:.25rem}.empty-state-card-title{font-size:.85rem;color:var(--text-primary);font-weight:500}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:text-rose-800:hover{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}@media (min-width:768px){.md\:hidden{display:none}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.lg\:hidden{display:none}}