:root{--color-paper:oklch(18% 0 0);--color-paper-2:oklch(15% 0 0);--color-paper-3:oklch(23% 0 0);--color-panel:oklch(22% 0 0);--color-panel-strong:oklch(28% 0 0);--color-rule:oklch(100% 0 0/.11);--color-rule-strong:oklch(100% 0 0/.18);--color-ink:oklch(96% 0 0);--color-ink-2:oklch(84% 0 0);--color-muted:oklch(68% 0 0);--color-faint:oklch(52% 0 0);--color-accent:oklch(96% 0 0);--color-accent-2:oklch(78% 0 0);--color-accent-soft:oklch(100% 0 0/.08);--color-accent-rule:oklch(100% 0 0/.22);--color-on-accent:oklch(15% 0 0);--color-ok:oklch(78% .145 150);--color-warning:oklch(79% .14 78);--color-critical:oklch(69% .18 28);--font-display:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-body:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono:"Azeret Mono", ui-monospace, "SFMono-Regular", monospace;--text-xs:.72rem;--text-sm:.84rem;--text-base:.96rem;--text-md:1.08rem;--text-lg:1.25rem;--text-xl:1.55rem;--text-display:clamp(2.1rem, 4vw, 4.2rem);--space-2:.125rem;--space-4:.25rem;--space-6:.375rem;--space-8:.5rem;--space-10:.625rem;--space-12:.75rem;--space-16:1rem;--space-20:1.25rem;--space-24:1.5rem;--space-32:2rem;--space-40:2.5rem;--space-48:3rem;--space-64:4rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.22s}*,:before,:after,::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:#3b82f680;--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: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-body);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.-top-\[25\%\]{top:-25%}.left-2{left:.5rem}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.ml-auto{margin-left:auto}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[125\%\]{height:125%}.h-px{height:1px}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.min-h-\[72px\]{min-height:72px}.min-h-\[80px\]{min-height:80px}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[14rem\]{min-width:14rem}.min-w-\[8rem\]{min-width:8rem}.max-w-\[min\(56vw\,18rem\)\]{max-width:min(56vw,18rem)}.max-w-md{max-width:28rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:.75rem}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-width:1px}.border-none{border-style:none}.border-border{border-color:var(--color-rule)}.border-input{border-color:var(--color-rule-strong)}.border-white\/10{border-color:#ffffff1a}.bg-background{background-color:var(--color-paper)}.bg-card{background-color:var(--color-panel)}.bg-destructive{background-color:var(--color-critical)}.bg-muted{background-color:var(--color-panel)}.bg-popover{background-color:var(--color-paper-2)}.bg-primary{background-color:var(--color-accent)}.bg-secondary{background-color:var(--color-panel-strong)}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-\[linear-gradient\(110deg\,var\(--color-muted\)\,35\%\,var\(--color-ink\)\,50\%\,var\(--color-muted\)\,75\%\,var\(--color-muted\)\)\]{background-image:linear-gradient(110deg,var(--color-muted),35%,var(--color-ink),50%,var(--color-muted),75%,var(--color-muted))}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.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}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.tracking-widest{letter-spacing:.1em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-destructive-foreground,.text-foreground,.text-popover-foreground{color:var(--color-ink)}.text-primary{color:var(--color-accent)}.text-primary-foreground{color:var(--color-on-accent)}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-secondary-foreground{color:var(--color-ink)}.text-transparent{color:#0000}.text-white\/45{color:#ffffff73}.text-white\/60{color:#fff9}.underline-offset-4{text-underline-offset:4px}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:var(--color-paper)}.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)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{overflow-x:clip}body{background:var(--color-paper);min-height:100dvh;color:var(--color-ink);font:var(--text-base) / 1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}*{scrollbar-width:thin;scrollbar-color:oklch(80% 0 0/.34) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:oklch(85% 0 0/.36) padding-box padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:oklch(94% 0 0/.48) padding-box padding-box}button,select,textarea{font:inherit}button{color:inherit}.app-shell{--sidebar-width:320px;min-height:100dvh;display:block}.sidebar-scrim{z-index:18;pointer-events:none;opacity:0;transition:opacity .26s var(--ease-out), background .26s var(--ease-out);background:oklch(0% 0 0/0);border:0;position:fixed;inset:0}.side-panel{z-index:20;width:var(--sidebar-width);gap:var(--space-12);max-width:calc(100vw - 16px);height:100dvh;padding:var(--space-12);border-right:1px solid var(--color-rule);background:var(--color-paper-2);transition:transform .34s var(--ease-out), box-shadow .34s var(--ease-out), opacity .22s var(--ease-out);will-change:transform;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(0);box-shadow:18px 0 60px oklch(0% 0 0/.28)}.is-sidebar-closed .side-panel{opacity:1;pointer-events:none;box-shadow:none;transform:translate(calc(-100% - 18px))}.brand-lockup{align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-8) var(--space-12);display:flex}.brand-mark{border:1px solid var(--color-rule);border-radius:var(--radius-lg);width:42px;height:42px;color:var(--color-ink);background:var(--color-panel);place-items:center;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.06)}.eyebrow,.section-label,.model-field span,.send-note,.message-meta{color:var(--color-faint);font:600 var(--text-xs) / 1.2 var(--font-mono);letter-spacing:.02em;text-transform:uppercase;margin:0}.brand-lockup h1,.top-title h2,.empty-state h2{font-family:var(--font-display);letter-spacing:0;margin:0}.brand-lockup h1{font-size:var(--text-xl);line-height:1}.panel-section{gap:var(--space-10);padding:var(--space-12);border-radius:var(--radius-lg);background:0 0;border:0;display:grid}.new-chat-button{justify-content:flex-start;align-items:center;gap:var(--space-10);width:100%;min-height:44px;padding:0 var(--space-12);border:1px solid var(--color-rule-strong);color:var(--color-ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:16px;display:inline-flex}.new-chat-button:hover{background:var(--color-panel);border-color:var(--color-accent-rule);transform:translateY(-1px)}.history-section{gap:var(--space-8);min-height:0;padding:var(--space-8) 0;flex:1;display:grid}.history-list{gap:var(--space-2);min-height:0;padding-right:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.history-item{justify-content:space-between;align-items:center;gap:var(--space-8);width:100%;min-height:36px;padding:0 var(--space-10);color:var(--color-ink-2);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:0;border-radius:14px;display:flex}.history-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-item svg{opacity:0;color:var(--color-faint);flex:none}.history-item:hover,.history-item.is-active{background:var(--color-panel);color:var(--color-ink)}.history-item:hover{transform:translate(2px)}.history-item:hover svg,.history-item:focus-visible svg{opacity:1}.status-pill{gap:var(--space-10);padding:var(--space-10);background:var(--color-panel);border:0;border-radius:16px;align-items:flex-start;display:flex}.status-pill.ok{border-color:oklch(78% .145 150/.34)}.status-pill.warning{border-color:oklch(79% .14 78/.42)}.status-pill.critical{border-color:oklch(69% .18 28/.42)}.status-pill svg{flex:none;margin-top:2px}.status-pill.ok svg{color:var(--color-ok)}.status-pill.warning svg{color:var(--color-warning)}.status-pill.critical svg{color:var(--color-critical)}.status-pill strong{margin-bottom:var(--space-4);color:var(--color-ink);text-transform:capitalize;display:block}.status-pill span{color:var(--color-muted);font-size:var(--text-sm);line-height:1.4;display:block}.meter-row{justify-content:space-between;align-items:center;gap:var(--space-12);color:var(--color-muted);font-size:var(--text-sm);display:flex}.meter-row code{color:var(--color-ink-2);font:600 var(--text-xs) / 1 var(--font-mono)}.model-field{gap:var(--space-8);display:grid}.model-trigger{justify-content:space-between;align-items:center;gap:var(--space-10);width:100%;min-width:0;min-height:42px;color:var(--color-ink);border:1px solid var(--color-rule-strong);padding:var(--space-10) var(--space-12);background:var(--color-panel);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:16px;display:flex}.model-trigger:hover,.model-trigger[data-state=open]{border-color:var(--color-accent-rule);background:var(--color-panel-strong);transform:translateY(-1px)}.model-trigger-main{align-items:center;gap:var(--space-8);min-width:0;display:inline-flex}.model-trigger-main span{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;font:600 var(--text-sm) / 1.1 var(--font-body);overflow:hidden}.model-menu{width:var(--radix-dropdown-menu-trigger-width);max-height:min(440px,100vh - 140px);padding:var(--space-8);border:1px solid var(--color-rule-strong);animation:dropdownIn .18s var(--ease-out) both;background:oklch(20% 0 0/.98);border-radius:18px;overflow-y:auto;box-shadow:0 22px 60px oklch(0% 0 0/.42)}.model-group+.model-group{margin-top:var(--space-8)}.model-group-label{padding:var(--space-8) var(--space-10) var(--space-4);color:var(--color-faint);font:700 var(--text-xs) / 1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.model-option{justify-content:space-between;align-items:center;gap:var(--space-10);min-height:34px;color:var(--color-ink-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:12px;display:flex}.model-option:hover,.model-option:focus{color:var(--color-ink);background:oklch(100% 0 0/.09);transform:translate(2px)}.model-trigger:focus-visible,.utility-button:focus-visible,.icon-button:focus-visible,.send-button:focus-visible,.copy-button:focus-visible,.composer textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.panel-actions{gap:var(--space-8);margin-top:auto;display:grid}.utility-button,.icon-button,.send-button,.copy-button{cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:0}.utility-button{justify-content:center;align-items:center;gap:var(--space-8);border:1px solid var(--color-rule-strong);min-height:40px;color:var(--color-ink);background:var(--color-panel);border-radius:14px;display:inline-flex}.utility-button.ghost{color:var(--color-muted);background:0 0}.utility-button:hover,.icon-button:hover,.copy-button:hover{color:var(--color-ink);border-color:var(--color-rule-strong);background:var(--color-panel-strong)}.workspace{min-width:0;height:100dvh;min-height:100dvh;margin-left:var(--sidebar-width);transition:margin-left .34s var(--ease-out);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.is-sidebar-closed .workspace{margin-left:0}.top-rail{z-index:5;align-items:center;gap:var(--space-16);min-height:60px;padding:var(--space-10) clamp(var(--space-16), 4vw, var(--space-40));background:var(--color-paper);border-bottom:1px solid #0000;display:flex;position:relative;top:0}.icon-button{border:1px solid var(--color-rule);width:38px;height:38px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border-radius:14px;flex:none;place-items:center;display:grid}.icon-button svg{transition:transform .24s var(--ease-out)}.icon-button:hover{transform:scale(1.04)}.is-sidebar-closed .icon-button svg{transform:rotate(180deg)}.top-title{min-width:0}.top-title h2{color:var(--color-ink);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;line-height:1.18;overflow:hidden}.top-meta{margin-left:auto}.live-chip{align-items:center;gap:var(--space-6);min-height:32px;padding:0 var(--space-12);border:1px solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-muted);background:var(--color-panel);font:700 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;display:inline-flex}.message-list{gap:var(--space-24);overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-gutter:stable;width:min(100%,860px);min-height:0;padding:var(--space-24) clamp(var(--space-16), 4vw, var(--space-40)) var(--space-32);flex-direction:column;margin:0 auto;display:flex;overflow-y:auto}.message-row{gap:var(--space-12);animation:messageIn .26s var(--ease-out) both;grid-template-columns:34px minmax(0,1fr);align-items:flex-start;display:grid}.message-row.from-user{grid-template-columns:minmax(0,1fr) 34px}.message-row.from-user .avatar{grid-area:1/2}.message-row.from-user .message-card{grid-column:1;justify-self:end}.avatar{border:1px solid var(--color-rule);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-muted);background:var(--color-panel);place-items:center;display:grid}.message-card{width:min(100%,760px);padding:var(--space-4) 0;box-shadow:none;background:0 0;border:0;border-radius:0}.from-user .message-card{width:fit-content;max-width:min(76%,720px);padding:var(--space-12) var(--space-16);background:var(--color-panel-strong);border-radius:22px;box-shadow:inset 0 1px oklch(100% 0 0/.045)}.message-meta{justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-8);display:flex}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.code-block{width:min(100%,760px);margin:var(--space-12) 0;border:1px solid var(--color-rule-strong);white-space:normal;background:oklch(13% 0 0);border-radius:18px;overflow:hidden;box-shadow:inset 0 1px oklch(100% 0 0/.055),0 18px 48px oklch(0% 0 0/.2)}.code-toolbar{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:38px;padding:0 var(--space-12);border-bottom:1px solid var(--color-rule);color:var(--color-faint);font:700 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;background:oklch(19% 0 0);display:flex}.code-copy-button{align-items:center;gap:var(--space-6);min-height:28px;padding:0 var(--space-8);border:1px solid var(--color-rule);border-radius:var(--radius-pill);color:var(--color-ink-2);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;display:inline-flex}.code-copy-button:hover{color:var(--color-ink);border-color:var(--color-rule-strong);background:oklch(100% 0 0/.08)}.code-block pre{max-height:62dvh;padding:var(--space-16);color:var(--color-ink);font:500 .88rem / 1.65 var(--font-mono);tab-size:2;white-space:pre;margin:0;overflow:auto}.code-block code{font:inherit}.generated-image-result{gap:var(--space-12);white-space:normal;width:min(100%,520px);display:grid}.generated-image-caption{color:var(--color-ink-2);white-space:pre-wrap;margin:0}.generated-image{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;background:var(--color-panel);width:min(100%,520px);animation:imageSettle .42s var(--ease-out) both;border-radius:20px;display:block}.generated-image-placeholder{aspect-ratio:1;width:min(100%,420px);color:var(--color-faint);background:linear-gradient(135deg, oklch(100% 0 0/.09), transparent 36%), repeating-linear-gradient(45deg, oklch(100% 0 0/.035) 0 1px, transparent 1px 14px), var(--color-panel);border-radius:20px;place-items:center;display:grid}.message-row.is-error .message-card{border-color:oklch(69% .18 28/.58)}.message-actions{align-items:center;gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.copy-button{align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-8);border:1px solid var(--color-rule);color:var(--color-faint);font:700 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;background:0 0;border-radius:999px;display:inline-flex}.typing-dots{gap:var(--space-6);align-items:center;min-height:24px;display:inline-flex}.typing-dots i{border-radius:var(--radius-pill);background:var(--color-accent);width:6px;height:6px;animation:pulse 1.1s var(--ease-in-out) infinite}.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}.empty-state{width:min(100%,760px);padding:var(--space-40) clamp(var(--space-16), 6vw, var(--space-64));align-self:center;margin:auto}.empty-grid{gap:var(--space-8);width:112px;height:112px;margin-bottom:var(--space-24);grid-template-columns:1fr 1fr;display:grid}.empty-grid span{border:1px solid var(--color-rule);background:var(--color-panel);border-radius:18px}.empty-grid span:first-child{background:var(--color-accent-soft);border-color:var(--color-accent-rule)}.empty-state h2{max-width:14ch;margin-top:var(--space-8);color:var(--color-ink);font-size:var(--text-display);line-height:1.05}.empty-state p:last-child{max-width:46ch;margin:var(--space-16) 0 0;color:var(--color-muted);font-size:var(--text-md)}.composer-dock{z-index:6;width:min(100%,860px);padding:0 clamp(var(--space-16), 4vw, var(--space-40)) var(--space-24);background:linear-gradient(180deg, oklch(18% 0 0/0), var(--color-paper) 28%), var(--color-paper);margin:0 auto;position:relative}.draft-label,.send-note{align-items:center;gap:var(--space-6);display:flex}.draft-label{margin-bottom:var(--space-8);color:var(--color-faint);font:700 var(--text-xs) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.composer{gap:var(--space-10);padding:var(--space-10);border:1px solid var(--color-rule-strong);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--color-panel-strong), var(--color-panel));grid-template-columns:minmax(0,1fr) 46px;display:grid;box-shadow:0 26px 80px oklch(0% 0 0/.22)}.ai-prompt-shell{width:100%}.ai-prompt-frame{border:1px solid var(--color-rule-strong);padding:var(--space-4);background:var(--color-panel-strong);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);border-radius:30px;box-shadow:0 16px 46px oklch(0% 0 0/.22),inset 0 1px oklch(100% 0 0/.055)}.ai-prompt-frame:focus-within{border-color:oklch(100% 0 0/.32);transform:translateY(-1px);box-shadow:0 18px 58px oklch(0% 0 0/.3),inset 0 1px oklch(100% 0 0/.075)}.ai-prompt-frame textarea{line-height:1.55}.ai-prompt-toolbar{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:56px;padding:0 var(--space-12);background:0 0;border-top:0;border-radius:0 0 26px 26px;display:flex;position:relative}.composer:focus-within{border-color:var(--color-accent-rule)}.composer textarea{resize:none;min-height:46px;max-height:220px;padding:var(--space-10) var(--space-12);color:var(--color-ink);background:0 0;border:0;outline:none}.composer textarea::placeholder{color:var(--color-faint)}.send-button{border-radius:var(--radius-lg);width:46px;height:46px;color:var(--color-on-accent);background:var(--color-accent);place-items:center;display:grid}.send-button:hover:not(:disabled){background:oklch(78% .125 178);transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.5}.send-note{margin:var(--space-10) 0 0;justify-content:center}.spin{animation:.8s linear infinite spin}@keyframes pulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes imageSettle{0%{opacity:0;filter:blur(8px);transform:scale(.985)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes panelIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.side-panel>*{animation:drawerItemIn .36s var(--ease-out) both}.side-panel>:nth-child(2){animation-delay:35ms}.side-panel>:nth-child(3){animation-delay:70ms}.side-panel>:nth-child(4){animation-delay:.105s}.side-panel>:nth-child(5){animation-delay:.14s}@keyframes drawerItemIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.app-shell,.app-shell.is-sidebar-closed{--sidebar-width:min(86vw, 340px)}.workspace{margin-left:0}.app-shell:not(.is-sidebar-closed) .sidebar-scrim{pointer-events:auto;opacity:1;background:oklch(0% 0 0/.46)}.top-rail{min-height:66px}.top-meta{display:none}}@media (width<=520px){body{background-size:auto}.top-rail{gap:var(--space-10);padding-inline:var(--space-12)}.top-title h2{font-size:var(--text-base)}.message-list{gap:var(--space-16);padding:var(--space-24) var(--space-12)}.message-row,.message-row.from-user{grid-template-columns:1fr}.avatar{display:none}.message-row.from-user .message-card,.message-card,.from-user .message-card{grid-column:auto;width:100%;max-width:100%}.empty-state{padding-inline:var(--space-20)}.empty-state h2{font-size:2.35rem}.composer-dock{padding-inline:var(--space-12)}.composer{grid-template-columns:minmax(0,1fr) 42px}.send-button{width:42px;height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.12s!important;animation-duration:1ms!important}}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted)}.hover\:bg-accent:hover{background-color:var(--color-accent-soft)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/85:hover{background-color:#ffffffd9}.hover\:text-accent-foreground:hover{color:var(--color-ink)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:bg-accent:focus{background-color:var(--color-accent-soft)}.focus\:text-accent-foreground:focus{color:var(--color-ink)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-white\/15:disabled{background-color:#ffffff26}.disabled\:text-white:disabled{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent-soft)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}
