*,: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:rgb(59 130 246/0.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:rgb(59 130 246/0.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: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.left-1\/2{left:50%}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.size-10{width:2.5rem;height:2.5rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-auto{width:auto;height:auto}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[240px\]{height:240px}.h-full{height:100%}.max-h-\[85vh\]{max-height:85vh}.min-h-\[420px\]{min-height:420px}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-4{width:1rem}.w-72{width:18rem}.w-8{width:2rem}.w-\[260px\]{width:260px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-32{min-width:8rem}.min-w-8{min-width:2rem}.max-w-3xl{max-width:48rem}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1\.5{row-gap:.375rem}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[min\(var\(--radius-md\)\2c 10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\2c 8px\)\]{border-radius:min(var(--radius-md),8px)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:var(--border)}.border-muted{border-color:var(--muted)}.border-transparent{border-color:transparent}.border-t-primary{border-top-color:var(--primary)}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:rgb(0 0 0/.1)}.bg-card{background-color:var(--card)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:transparent}.bg-clip-padding{background-clip:padding-box}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-sans),system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.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-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-1{--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)}.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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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}.duration-100{transition-duration:.1s}:root{--bg:var(--color-bg);--bg-sidebar:var(--color-bg-sidebar);--bg-hover:var(--color-bg-hover);--bg-input:var(--color-bg-input);--border-light:var(--color-border-light);--text:var(--color-text);--text-2:var(--color-text-2);--text-3:var(--color-text-3);--blue:var(--color-blue);--blue-light:var(--color-blue-light);color-scheme:light dark}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);overflow:hidden;color:var(--text)}.layout,body{height:100dvh}.layout,.sidebar{display:flex}.sidebar{width:260px;background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .25s ease;border-right:1px solid var(--border-light)}.sidebar-brand{gap:12px;padding:12px 16px}.brand-icon,.sidebar-brand{display:flex;align-items:center}.brand-icon{width:32px;height:32px;background:var(--blue);border-radius:8px;justify-content:center;color:white;font-weight:700;font-size:14px;flex-shrink:0}.brand-name{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.env-badge{font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 5px;border-radius:4px;color:#fff;line-height:1.4}.env-badge.dev{background:#f59e0b}.env-badge.local{background:#8b5cf6}.server-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .3s}.server-dot.up{background:#22c55e;box-shadow:0 0 4px #22c55e80}.server-dot.partial{background:#f59e0b;box-shadow:0 0 4px #f59e0b80;animation:pulse-dot 1.5s infinite}.server-dot.down{background:#ef4444;box-shadow:0 0 4px #ef444480;animation:pulse-dot 1.5s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.brand-sub{font-size:11px;color:var(--text-3);margin-top:1px}.sidebar-section{padding:8px 12px;flex:1;display:flex;flex-direction:column;gap:4px;min-height:0}.section-label{font-size:11px;font-weight:500;color:var(--text-3);margin-bottom:4px;padding-left:8px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border-light);flex-shrink:0}.chats-header{justify-content:space-between;margin-bottom:4px;padding:0 8px}.btn-new-chat,.chats-header{display:flex;align-items:center}.btn-new-chat{width:28px;height:28px;background:transparent;color:var(--text-3);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:18px;line-height:1;justify-content:center;transition:all .15s}.btn-new-chat:hover{background:var(--bg-hover);color:var(--text);border-color:var(--text-3)}.chat-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1;min-height:0}.chat-list::-webkit-scrollbar{width:3px}.chat-list::-webkit-scrollbar-track{background:transparent}.chat-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.chat-list.locked .chat-item:not(.active){opacity:.4;cursor:not-allowed}.chat-item{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-lg);cursor:pointer;color:var(--text-2);font-size:14px;transition:all .12s}.chat-item.active,.chat-item:hover{background:var(--bg-hover);color:var(--text)}.chat-item.active{font-weight:500}.chat-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-del{opacity:0;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:12px;padding:0 2px;line-height:1;flex-shrink:0;transition:color .12s}.chat-item:hover .chat-item-del{opacity:1}.chat-item-del:hover{color:var(--color-error)}.chat-confirm-del{display:flex;gap:4px;flex-shrink:0}.chat-confirm-no,.chat-confirm-yes{border:none;border-radius:4px;font-size:11px;font-family:inherit;padding:2px 8px;cursor:pointer;transition:all .12s}.chat-confirm-yes{background:var(--color-error);color:#fff}.chat-confirm-yes:hover{background:var(--color-error-hover)}.chat-confirm-no{background:var(--bg-hover);color:var(--text-2)}.chat-confirm-no:hover{background:var(--border-light)}.chat-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--bg);position:relative}.resize-handle{width:6px;flex-shrink:0;cursor:col-resize;position:relative;z-index:20;-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:transparent;transition:background .15s}.resize-handle:hover:after{background:var(--color-border);width:2px;left:calc(50% - 1px)}.resize-handle[data-open=false]{cursor:default}.resize-handle[data-open=false]:after{display:none}.sidebar-toggle{background:transparent;border:1px solid var(--color-border);color:var(--text-3);font-size:14px;cursor:pointer;width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .15s,background .15s;flex-shrink:0}.sidebar-toggle:hover{color:var(--text);background:var(--bg-hover)}.sidebar-toggle.right{background:transparent;border:1px solid var(--color-border);color:var(--text-3);margin-right:4px}.sidebar-toggle.right:hover{color:var(--text);background:var(--bg-hover)}.panel-reopen{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:20px;height:32px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:99px;color:var(--text-3);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:color .15s;z-index:1}.panel-reopen:hover{color:var(--text)}.right-sidebar{position:fixed;top:12px;right:12px;width:260px;max-height:calc(100vh - 24px);background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;z-index:50;transition:width .25s ease,opacity .25s ease}.right-sidebar.closed{width:0;opacity:0;border:none;box-shadow:none;pointer-events:none;transition:width .15s ease,opacity .12s ease}.right-sidebar::-webkit-scrollbar{width:3px}.right-sidebar::-webkit-scrollbar-track{background:transparent}.right-sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.right-sidebar-header{padding:12px 8px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3);flex-shrink:0;display:flex;align-items:center;gap:8px}.right-sidebar-empty{padding:16px;font-size:13px;color:var(--text-3);line-height:1.55}.file-section{padding:4px 8px}.file-section-header{display:flex;align-items:center;width:100%;background:none;border:none;cursor:pointer;padding:8px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-2);font-family:inherit;text-align:left;transition:color .12s}.file-section-header:hover{color:var(--text)}.file-section-count{color:var(--text-3);font-weight:400;margin-left:2px}.file-section-chevron{color:var(--text-3);margin-left:auto;transition:transform .2s ease}.file-section-chevron.collapsed{transform:rotate(-90deg)}.file-section-items{max-height:240px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg);margin:4px 4px 6px;padding:4px}.file-section-items::-webkit-scrollbar{width:5px}.file-section-items::-webkit-scrollbar-track{background:var(--bg-sidebar)}.file-section-items::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.file-item{display:flex;align-items:center;padding:0 4px;border-radius:6px;transition:background .12s;position:relative}.file-item:hover{background:var(--bg-hover)}.file-item:hover .file-del{opacity:1}.file-item-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:6px 4px 6px 6px;border:none;background:none;cursor:pointer;text-align:left;color:var(--text-2);font-size:13px;font-family:inherit}.file-item:hover .file-item-main{color:var(--text)}.file-del{flex-shrink:0;opacity:0;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:14px;line-height:1;padding:2px 5px;border-radius:4px;transition:opacity .12s,color .12s}.file-del:hover{color:var(--color-error)}.file-item-confirm{display:flex;align-items:center;gap:4px;padding-right:4px;flex-shrink:0}.file-del-yes{font-size:11px;font-family:inherit;padding:2px 7px;border-radius:4px;border:1px solid var(--color-error);color:var(--color-error);cursor:pointer;font-weight:500;transition:background .12s}.file-del-yes,.file-del-yes:hover{background:var(--color-error-bg)}.file-del-no{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px}.file-del-no:hover{color:var(--text)}@keyframes file-highlight{0%{background:var(--color-highlight-bg)}60%{background:var(--color-highlight-bg)}to{background:transparent}}.file-section-divider{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:10px 16px 2px}.file-section-empty{margin:4px 16px 12px;padding:20px 16px;border:1.5px dashed var(--border-light);border-radius:var(--radius-lg);color:var(--color-text-4);font-size:12px;text-align:center}.file-item--highlighted{animation:file-highlight 4s ease-out forwards}.file-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;color:var(--text-3)}.file-item-info{flex:1;display:flex;flex-direction:column;min-width:0;gap:1px}.file-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.file-item-date{font-size:10.5px;color:var(--text-3)}.file-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:48px}.file-modal{background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;width:-moz-fit-content;width:fit-content;min-width:400px;max-width:860px;max-height:calc(100vh - 96px);overflow:hidden}.file-modal--full{width:100%;max-width:960px}.file-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light);flex-shrink:0}.file-modal-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-modal-close{background:none;border:none;color:var(--text-3);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .12s;flex-shrink:0}.file-modal-close:hover{color:var(--text)}.file-modal-spinner{display:flex;align-items:center;justify-content:center;padding:60px 0}.file-modal-spinner span{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--text-2);animation:modal-spin .7s linear infinite}@keyframes modal-spin{to{transform:rotate(1turn)}}.file-modal-body{flex:1;overflow:auto;display:flex;flex-direction:column}.file-modal-iframe{width:100%;border:none;min-height:400px;background:var(--color-bg);transition:height .25s ease}.file-modal-prose{padding:20px 28px;overflow-y:auto}.file-modal-prose.bubble.agent{padding:20px 28px}.file-modal-prose.bubble.agent h1{font-size:22px;margin:28px 0 12px}.file-modal-prose.bubble.agent h2{font-size:18px;margin:24px 0 8px}.file-modal-prose.bubble.agent h3{font-size:15px;margin:20px 0 6px}.file-modal-prose.bubble.agent h1:first-child,.file-modal-prose.bubble.agent h2:first-child,.file-modal-prose.bubble.agent h3:first-child{margin-top:0}.file-modal-pre{padding:20px 24px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-all;color:var(--text);overflow-y:auto}.file-modal-csv-wrap{overflow:auto;padding:16px}.file-modal-csv{width:100%;border-collapse:collapse;font-size:13px}.file-modal-csv th{background:var(--bg-sidebar);border:1px solid var(--color-border);padding:8px 12px;text-align:left;font-weight:600;color:var(--text-2);white-space:nowrap}.file-modal-csv td{border:1px solid var(--color-border);padding:7px 12px}.file-modal-csv tr:nth-child(2n) td{background:var(--bg-sidebar)}.messages{flex:1;overflow-y:auto;padding:32px max(32px,calc(50% - 380px)) 16px;display:flex;flex-direction:column;gap:24px;scroll-behavior:smooth}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.welcome-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:0 32px;min-width:0;overflow:hidden}.welcome-center .input-area{width:100%;max-width:600px;padding:0;min-width:0}.welcome-greeting{text-align:center;font-size:1.05rem;color:var(--text-2);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.welcome-sources{margin-top:16px;text-align:center;max-width:460px;width:100%}.welcome-sources-label{font-size:.78rem;color:var(--text-3);margin-bottom:6px}.welcome-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;justify-content:center}.welcome-source-item{font-size:.74rem;color:var(--text-2);cursor:default;line-height:1.5}.welcome-source-item:after{content:" \00b7";color:var(--text-3);opacity:.5}.welcome-source-item:last-child:after{content:""}.welcome-source-name{border-bottom:1px dotted var(--border)}.welcome-source-meta{margin-left:2px;font-size:.63rem;color:var(--text-3);opacity:.7}.suggestions-row{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 24px 4px}.suggestion-btn{align-self:center;padding:6px 14px;font-size:.88rem;color:var(--text-2);background:var(--bg-2);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s;text-align:center;line-height:1.4;animation:suggestion-in .35s ease-out both;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px;text-decoration-color:var(--text-3,#999)}.suggestion-btn:first-child{animation-delay:.05s}.suggestion-btn:nth-child(2){animation-delay:.15s}.suggestion-btn:nth-child(3){animation-delay:.25s}@keyframes suggestion-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.suggestion-btn:hover{background:var(--bg-3,#e8e8e8);border-color:var(--text-3)}.msg-row{display:flex;align-items:flex-start}.msg-row.user{justify-content:flex-end}.msg-row.agent{align-self:flex-start;max-width:100%;flex-direction:column}.msg-row.sys{justify-content:center}.bubble{font-size:15px;line-height:1.7}.bubble.user{background:var(--color-blue-tint);color:var(--text);border-radius:20px;padding:10px 18px;max-width:70%;white-space:pre-wrap}.bubble.agent{color:var(--text);padding:4px 0;min-width:0;max-width:100%;overflow-wrap:break-word;word-break:break-word}.bubble.sys{background:var(--bg-sidebar);color:var(--text-2);font-size:12px;border-radius:99px;padding:5px 14px}.bubble.agent p{margin:0 0 14px}.bubble.agent p:last-child{margin-bottom:0}.bubble.agent h1,.bubble.agent h2,.bubble.agent h3{margin:20px 0 8px;line-height:1.35;color:var(--text)}.bubble.agent h1:first-child,.bubble.agent h2:first-child,.bubble.agent h3:first-child{margin-top:0}.bubble.agent .footnote-ref{font-weight:700;font-size:.85em;color:var(--color-cite);margin-left:2px}.bubble.agent small .footnote-ref{font-weight:600;color:var(--color-cite)}.footnote-sep{border:none;border-top:1px solid var(--border-light);margin:20px 0 8px}.footnote-heading{color:var(--text-3)!important;font-size:13px!important;font-weight:600;margin:4px 0 8px!important}.bubble.agent small{display:block;line-height:1.6;margin:2px 0}.footnotes-section br{display:none}.footnotes-section small{padding:1px 0}.footnotes-section p{margin:0!important}.footnotes-section .stat-chip{background:none;color:inherit;font-weight:inherit;padding:0}.footnotes-section .footnote-ref{font-weight:400;color:var(--text-3)}.citing-pill{position:absolute;top:-24px;left:50%;transform:translateX(-50%) translateY(8px);display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-3);padding:5px 14px;border-radius:99px;background:var(--bg-sidebar);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .4s ease,transform .4s ease,color .4s ease}.citing-pill.visible{opacity:1;transform:translateX(-50%) translateY(0)}.citing-pill.done{animation:citing-pill-out .4s ease 1.8s forwards}.citing-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--color-warning-text);animation:citing-dot-pulse 1.2s ease-in-out infinite;transition:background .4s ease}.citing-pill.done .citing-pill-dot{background:var(--color-success);animation:none}@keyframes citing-dot-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes citing-pill-out{to{opacity:0;transform:translateX(-50%) translateY(-4px)}}.bubble-content{transition:opacity .2s ease}.refined-pulse{animation:text-pulse .5s ease both;transform-origin:left center}@keyframes text-pulse{0%{transform:scale(1);background-color:transparent}35%{transform:scale(1.008);background-color:rgba(78,121,167,.04)}to{transform:scale(1);background-color:transparent}}.ref-animate{opacity:0;animation:ref-fade .25s ease forwards}@keyframes ref-fade{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.refs-fade-in{animation:refs-section-fade .4s ease both}.footnotes-section{transition:opacity .3s ease}@keyframes refs-section-fade{0%{opacity:0}to{opacity:1}}.bubble.agent h1{font-size:17px}.bubble.agent h2{font-size:16px}.bubble.agent h3{font-size:15px;font-weight:600}.bubble.agent ol,.bubble.agent ul{padding-left:20px;margin:8px 0 16px}.bubble.agent li{margin:8px 0;line-height:1.6}.bubble.agent li>strong:first-child{color:var(--text)}.bubble.agent code{background:var(--bg-input);padding:2px 6px;border-radius:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;color:var(--color-code)}.bubble.agent pre{background:var(--bg-sidebar);color:var(--text);border:1px solid var(--border-light);padding:16px 18px;border-radius:var(--radius-lg);overflow-x:auto;margin:12px 0;min-width:0;max-width:100%}.bubble.agent pre code{background:none;color:inherit;padding:0;font-size:13px;border-radius:0}.mermaid-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 0;margin:24px 0;width:100%;color:var(--text-3);font-size:11px;background:var(--bg-input);border-radius:var(--radius-lg);position:relative;overflow:hidden}.mermaid-loading:after{content:"";position:absolute;top:0;left:-100%;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:mermaid-shimmer 2.5s ease-in-out infinite}@keyframes mermaid-shimmer{0%{left:-100%}50%{left:200%}to{left:200%}}.mermaid-loading .loading-spinner{width:14px;height:14px;border-width:1.5px}.bubble-content>span{display:contents}.mermaid-diagram{margin:40px 0;overflow-x:auto;width:100%;position:relative;animation:mermaid-fade-in .3s ease}.mermaid-diagram svg{width:100%!important;max-width:100%!important;height:auto}.mermaid-diagram .label-container,.mermaid-diagram .node circle,.mermaid-diagram .node path,.mermaid-diagram .node polygon,.mermaid-diagram .node rect,.mermaid-diagram .node-bkg{rx:3!important;ry:3!important}.mermaid-diagram .edgeLabel,.mermaid-diagram .label,.mermaid-diagram .nodeLabel{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-size:13px!important}.mermaid-diagram .edge path,.mermaid-diagram .flowchart-link{stroke-width:1.5!important;stroke:#333!important}.mermaid-diagram .arrowMarkerPath,.mermaid-diagram .marker{fill:#333!important;stroke:#333!important}@media (prefers-color-scheme:dark){.mermaid-diagram .edge path,.mermaid-diagram .flowchart-link{stroke:#aaa!important}.mermaid-diagram .arrowMarkerPath,.mermaid-diagram .marker{fill:#aaa!important;stroke:#aaa!important}}.mermaid-fullscreen-btn{position:absolute;top:8px;right:8px;background:var(--bg-sidebar);border:1px solid var(--border-light);border-radius:6px;padding:6px;cursor:pointer;color:var(--text-3);opacity:0;transition:opacity .15s,color .15s;display:flex;align-items:center;justify-content:center}.mermaid-diagram:hover .mermaid-fullscreen-btn{opacity:1}.mermaid-fullscreen-btn:hover{color:var(--text)}.mermaid-fullscreen-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:mermaid-fade-in .2s ease}.mermaid-fullscreen-content{position:relative;background:var(--color-bg);width:100vw;height:100vh;padding:48px 32px 32px;overflow:auto;display:flex;align-items:center;justify-content:center}.mermaid-fullscreen-content>div svg{width:auto!important;height:85vh!important;max-width:95vw!important;-o-object-fit:contain;object-fit:contain}.mermaid-fullscreen-close{position:fixed;top:16px;right:16px;z-index:201;background:var(--bg-hover);border:none;border-radius:8px;padding:6px;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:color .15s}.mermaid-fullscreen-close:hover{color:var(--text)}@keyframes mermaid-fade-in{0%{opacity:0}to{opacity:1}}.bubble.agent table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.bubble.agent th{background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:8px 14px 8px 0;text-align:left;font-weight:500;color:var(--text-3);font-size:13px}.bubble.agent td{border:none;border-bottom:1px solid var(--border-light);padding:10px 14px 10px 0;text-align:left;color:var(--text)}.bubble.agent tr:last-child td{border-bottom:none}.bubble.agent strong{font-weight:600;color:var(--text)}.bubble.agent hr{border:none;height:1px;background:var(--border-light);margin:16px 0}.bubble.agent blockquote{border-left:2px solid var(--color-border);background:transparent;padding:4px 16px;margin:16px 0;color:var(--text)}.bubble.agent blockquote p{margin:0}.stat-chip{display:inline-block;background:var(--blue-light);color:var(--blue);font-weight:600;padding:0 5px;border-radius:4px;font-size:.88em;letter-spacing:.01em}.bubble.agent mark{background:var(--color-warning-bg);color:inherit;padding:1px 3px;border-radius:3px}.bubble.agent small{font-size:12px;color:var(--text-3)}.bubble.agent a{color:var(--color-cite);text-decoration:none;border-bottom:1px solid var(--color-cite-underline);transition:border-color .15s}.bubble.agent a:hover{border-bottom-color:var(--color-cite)}.msg-actions{display:flex;gap:2px;padding:10px 0 0;align-self:flex-start}.msg-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-3);cursor:pointer;transition:background .12s,color .12s}.msg-action-btn:hover{background:var(--bg-hover);color:var(--text-2)}.msg-action-btn.active{color:var(--text-2)}.msg-actions-sep{width:1px;height:16px;background:var(--border-light);margin:0 4px;align-self:center;flex-shrink:0}.msg-actions--prominent{background:var(--bg-sidebar);border:1px solid var(--border-light);border-radius:99px;padding:4px 8px;margin-top:28px;width:-moz-fit-content;width:fit-content;margin-left:auto;margin-right:auto;animation:actions-appear .4s ease both;animation-delay:.6s;opacity:0}.msg-row.agent:has(.mermaid-diagram),.msg-row.agent:has(.mermaid-loading),.msg-row.agent:has(.msg-actions--prominent){width:100%}.msg-row.agent:has(.mermaid-diagram) .bubble.agent,.msg-row.agent:has(.mermaid-loading) .bubble.agent{width:100%}.msg-actions--prominent .msg-action-btn{color:var(--text-2)}.msg-actions--prominent .msg-action-btn:hover{color:var(--text);background:var(--bg-hover)}@keyframes actions-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.feedback-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:24px;animation:feedback-overlay-in .15s ease}@keyframes feedback-overlay-in{0%{opacity:0}to{opacity:1}}.feedback-modal{background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:400px;animation:feedback-modal-in .2s ease}@keyframes feedback-modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.feedback-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0}.feedback-modal-title{font-size:var(--font-md);font-weight:var(--weight-semibold);color:var(--text)}.feedback-modal-close{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:var(--font-xl);line-height:1;padding:4px;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.feedback-modal-close:hover{color:var(--text);background:var(--bg-hover)}.feedback-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:4px}.feedback-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast);color:var(--text);font-size:var(--font-base)}.feedback-option:hover{background:var(--bg-hover)}.feedback-option.selected{background:var(--color-blue-tint)}.feedback-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.feedback-option-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;position:relative;transition:border-color var(--duration-fast)}.feedback-option.selected .feedback-option-radio{border-color:var(--color-blue)}.feedback-option.selected .feedback-option-radio:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--color-blue)}.feedback-option-label{flex:1}.feedback-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 20px}.feedback-btn-cancel,.feedback-btn-submit{padding:8px 16px;border-radius:var(--radius-lg);font-size:var(--font-base);font-weight:var(--weight-medium);cursor:pointer;border:none;transition:background var(--duration-fast),opacity var(--duration-fast)}.feedback-btn-cancel{background:transparent;color:var(--text-2)}.feedback-btn-cancel:hover{background:var(--bg-hover);color:var(--text)}.feedback-btn-submit{background:var(--color-accent);color:var(--color-bg)}.feedback-btn-submit:hover:not(:disabled){background:var(--color-accent-hover)}.feedback-btn-submit:disabled{opacity:.4;cursor:not-allowed}.stream-dots{display:flex;gap:4px;align-items:center}.stream-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-3);animation:dot-pulse 3s ease-in-out infinite}.stream-dots span:nth-child(2){animation-delay:.2s}.stream-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,60%,to{opacity:.45;transform:scale(.75)}30%{opacity:1;transform:scale(1)}}.stream-idle-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:12px;align-self:flex-start}.stream-idle-dots{display:flex;gap:6px;align-items:center}.stream-idle-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-blue);opacity:0;transform:scale(.5);animation:dot-enter .2s ease-out forwards,dot-bounce 1.4s ease-in-out .3s infinite}.stream-idle-dots span:first-child{animation-delay:0s,.3s}.stream-idle-dots span:nth-child(2){animation-delay:.1s,.4s}.stream-idle-dots span:nth-child(3){animation-delay:.2s,.5s}@keyframes dot-enter{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes dot-bounce{0%,80%,to{opacity:.35;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}.stream-idle-msg{font-size:13px;color:var(--text-3);min-height:1.4em}.stream-idle-cursor{display:inline-block;width:7px;height:1.5px;background:var(--text-3);margin-left:1px;vertical-align:baseline;animation:cursor-blink .6s steps(2) infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.stream-cursor{display:flex;align-items:center;gap:8px;margin-top:12px}.stream-status{white-space:nowrap}.stream-status,.tool-chip{font-size:12px;color:var(--text-3)}.tool-chip{background:var(--bg-sidebar);border:1px solid var(--border-light);border-radius:20px;padding:2px 10px}.wait-msg{font-size:13px;display:inline-flex}.wait-msg>span{color:var(--text-2);animation:letter-enter .25s ease both,letter-pulse 1.8s ease-in-out .25s infinite}@keyframes letter-enter{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes letter-pulse{0%,60%,to{opacity:.45}30%{opacity:1}}.steps-toggle{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:12px;color:var(--text-3);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;line-height:1}.steps-toggle:hover{color:var(--text-2)}.steps-expanded{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--border-light);padding-left:14px}.steps-expanded .stream-step{font-size:12px;color:var(--text-3);line-height:1.4;position:relative;padding-left:12px}.steps-expanded .stream-step:before{content:"";position:absolute;left:0;top:6px;width:4px;height:4px;border-radius:50%;background:var(--text-3);opacity:.45}.chat-topbar{display:flex;align-items:center;padding:8px 16px;position:absolute;top:0;left:0;right:0;z-index:5;pointer-events:none}.chat-topbar:not(:has(.topbar-toggle)){display:none}.chat-topbar>*{pointer-events:auto}.topbar-toggle{background:none;border:none;color:var(--text-3);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.topbar-toggle:hover{color:var(--text);background:var(--bg-hover)}.input-area{position:relative;padding:24px max(20px,calc(50% - 380px));display:flex;flex-wrap:wrap;gap:8px;align-items:center}#chat-input{flex:1;padding:12px 16px;border:none;border-radius:24px;font-size:15px;font-family:inherit;line-height:1.5;outline:none;resize:none;max-height:160px;overflow-y:auto;background:var(--bg-input);color:var(--text);transition:box-shadow .15s}#chat-input::-moz-placeholder{color:var(--text-3)}#chat-input::placeholder{color:var(--text-3)}#chat-input:focus{box-shadow:0 0 0 2px var(--color-border)}#chat-input.highlighted{animation:input-deeplink-flash .8s ease-out 1 forwards,input-deeplink-pulse 2.4s ease-in-out .8s infinite}@keyframes input-deeplink-flash{0%{box-shadow:0 0 0 0 rgba(251,191,36,0)}40%{box-shadow:0 0 0 4px rgba(251,191,36,.55)}to{box-shadow:0 0 0 2px rgba(251,191,36,.3)}}@keyframes input-deeplink-pulse{0%,to{box-shadow:0 0 0 2px rgba(251,191,36,.3)}50%{box-shadow:0 0 0 3px rgba(251,191,36,.55)}}#send-btn{width:36px;height:36px;background:var(--blue);color:white;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}#send-btn:hover{background:var(--color-blue-hover)}#stop-btn{width:36px;height:36px;background:var(--color-error-ring);color:var(--color-error-hover);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}#stop-btn:hover{background:var(--color-error-ring-hover)}#chat-input[readonly]{opacity:.5}.error-msg{color:var(--color-error-hover)}.error-msg,.stopped-msg{font-style:normal;font-size:.9rem}.stopped-msg{color:var(--text-3)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--text);color:white;padding:10px 20px;border-radius:99px;font-size:14px;pointer-events:none;z-index:1000;animation:toast-in .15s ease}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.login-card{gap:28px;padding:48px 44px}.login-brand,.login-card{display:flex;flex-direction:column;align-items:center}.login-brand{gap:10px}.login-brand .brand-icon{width:48px;height:48px;font-size:20px}.login-title{font-size:22px;font-weight:700;color:var(--text)}.login-sub{font-size:14px;color:var(--text-3)}.btn-google{display:flex;align-items:center;gap:10px;padding:12px 28px;background:var(--bg);border:1px solid var(--color-border);border-radius:99px;font-size:15px;font-weight:500;font-family:inherit;color:var(--text);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}.btn-google:hover{background:var(--bg-sidebar);border-color:var(--text-3)}.btn-google svg{width:18px;height:18px;flex-shrink:0}.btn-google-secondary{display:flex;align-items:center;gap:8px;padding:8px 20px;background:transparent;border:none;border-radius:99px;font-size:13px;font-weight:400;font-family:inherit;color:var(--text-3);cursor:pointer;text-decoration:none;transition:color .15s}.btn-google-secondary:hover{color:var(--text)}.btn-google-secondary svg{width:14px;height:14px;flex-shrink:0}.login-divider{display:flex;align-items:center;gap:12px;width:100%;color:var(--text-3);font-size:13px}.login-divider:after,.login-divider:before{content:"";flex:1;height:1px;background:var(--color-border)}.login-form{display:flex;flex-direction:column;gap:10px;width:100%}.login-input{padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--text-3)}.login-input::-moz-placeholder{color:var(--text-3)}.login-input::placeholder{color:var(--text-3)}.login-error{font-size:13px;color:#e74c3c;text-align:center}.login-submit{padding:10px 24px;background:var(--text);color:var(--bg);border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s}.login-submit:hover{opacity:.85}.login-submit:disabled{opacity:.4;cursor:default}.skeleton-sidebar{width:260px;background:var(--bg-sidebar);border-right:1px solid var(--border-light);padding:20px 16px}.skeleton-main{flex:1;display:flex;align-items:center;justify-content:center}.loading-spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--text-2);animation:modal-spin .7s linear infinite}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.user-details{flex:1;min-width:0}.user-name{font-size:13px;color:var(--text);font-weight:500}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:11px;color:var(--text-3)}.btn-logout{padding:5px 10px;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--text-3);font-size:12px;cursor:pointer;flex-shrink:0;text-decoration:none;transition:all .15s}.btn-logout:hover{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.admin-links{margin-bottom:10px}.btn-admin{width:100%;padding:8px 12px;background:transparent;color:var(--text-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;font-size:13px;font-family:inherit;text-align:center;text-decoration:none;transition:all .15s;display:block}.btn-admin:hover{background:var(--bg-hover);color:var(--text)}.admin-nav-list{display:flex;flex-direction:column;gap:2px}.admin-nav-btn{padding:8px 12px;background:none;border:none;border-radius:var(--radius-lg);text-align:left;font-size:13px;color:var(--text-2);cursor:pointer;font-family:inherit;transition:color .12s,background .12s}.admin-nav-btn.active,.admin-nav-btn:hover{color:var(--text);background:var(--bg-hover)}.admin-nav-btn.active{font-weight:600}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg);min-height:100vh}.admin-main-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border-light);flex-shrink:0}.admin-main-header h1{font-size:15px;font-weight:600;color:var(--text);margin:0}.admin-main-body{flex:1;min-height:0;padding:24px;overflow:hidden;display:flex;flex-direction:column}.admin-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);z-index:1000;display:flex;align-items:center;justify-content:center}.admin-panel{background:var(--bg);border-radius:var(--radius-xl);width:min(960px,94vw);height:82vh;display:flex;flex-direction:row;box-shadow:var(--shadow-xl);overflow:hidden}.admin-nav{width:176px;flex-shrink:0;border-right:1px solid var(--border-light);display:flex;flex-direction:column;padding:24px 0 16px}.admin-nav-title{font-size:18px;font-weight:700;color:var(--text);padding:0 20px 20px}.admin-nav-item{padding:9px 20px;background:none;border:none;text-align:left;font-size:14px;color:var(--text-2);cursor:pointer;font-family:inherit;transition:color .12s,background .12s}.admin-nav-item:hover{color:var(--text);background:var(--bg-hover)}.admin-nav-item.active{color:var(--text);font-weight:600;text-decoration:underline;text-underline-offset:3px}.admin-content{flex:1;min-width:0;display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;justify-content:flex-end;padding:10px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.admin-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-3);padding:4px 8px;border-radius:6px}.admin-close:hover{background:var(--bg-hover)}.metrics-tab-body{padding:16px 20px;overflow-y:auto;flex:1}.admin-body{overflow:hidden;padding:20px 24px 24px}.admin-body,.admin-body>.admin-section{flex:1;min-height:0;display:flex;flex-direction:column}.admin-section{display:flex;flex-direction:column;gap:4px;min-height:0}.admin-subsection{margin-bottom:20px}.admin-subsection h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}.admin-row{display:flex;align-items:center}.admin-tab-sm{padding:5px 12px;background:var(--bg-sidebar);border:1px solid var(--border-light);border-radius:6px;font-size:12px;color:var(--text-2);cursor:pointer;transition:all .15s}.admin-tab-sm.active{background:var(--blue);color:white;border-color:var(--blue)}.admin-prompt-editor{flex:1;width:100%;min-height:500px;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--bg);color:var(--text);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;resize:vertical;outline:none;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.admin-prompt-editor:focus{border-color:var(--text-3)}.admin-prompt-tabs{display:flex;gap:4px;margin-bottom:8px}.admin-prompt-tab{padding:5px 12px;border:1px solid var(--color-border);border-radius:6px;background:none;font-size:13px;cursor:pointer;color:var(--text-2);transition:all .12s}.admin-prompt-tab.active{background:var(--text);color:var(--bg);border-color:var(--text)}.admin-md-editor-wrap{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;min-height:0}.admin-md-editor-wrap .mdxeditor{flex:1;display:flex;flex-direction:column;min-height:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-md-editor-wrap [class*=toolbarRoot]{border-bottom:1px solid var(--border-light)!important;background:var(--bg-sidebar)!important;padding:8px 12px!important;gap:6px!important}.admin-md-editor-wrap .mdxeditor-root-contenteditable,.admin-md-editor-wrap [class*=contentEditable]{flex:1;overflow-y:auto;padding:12px 20px!important;font-size:14px;line-height:1.7;color:var(--text)}.admin-md-editor-wrap .mdxeditor-root-contenteditable h1{font-size:20px;margin:20px 0 8px}.admin-md-editor-wrap .mdxeditor-root-contenteditable h2{font-size:17px;margin:16px 0 6px}.admin-md-editor-wrap .mdxeditor-root-contenteditable h3{font-size:15px;margin:14px 0 4px;font-weight:600}.admin-md-editor-wrap .mdxeditor-root-contenteditable p{margin:0 0 10px}.admin-md-editor-wrap .mdxeditor-root-contenteditable ol,.admin-md-editor-wrap .mdxeditor-root-contenteditable ul{padding-left:20px;margin:6px 0 12px}.admin-md-editor-wrap .mdxeditor-root-contenteditable li{margin:4px 0}.admin-md-editor-wrap .mdxeditor-root-contenteditable blockquote{border-left:2px solid var(--color-border);padding:4px 14px;margin:12px 0;color:var(--text-2)}.admin-md-editor-wrap .mdxeditor-root-contenteditable code{background:var(--bg-input);padding:1px 5px;border-radius:3px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.admin-md-editor-wrap .mdxeditor-root-contenteditable hr{border:none;height:1px;background:var(--border-light);margin:16px 0}.admin-md-editor-wrap .cm-editor{padding-top:1.8rem!important}@media (prefers-color-scheme:dark){.admin-md-editor-wrap [class*=_editorRoot_]{--basePageBg:var(--color-bg);--baseBase:#1e1e20;--baseBgSubtle:#242426;--baseBg:#2c2c30;--baseBgHover:#343438;--baseBgActive:#3c3c42;--baseLine:#48484e;--baseBorder:#555;--baseBorderHover:#6b6b72;--baseSolid:#8b8b94;--baseSolidHover:#9b9ba2;--baseText:#b4b4bc;--baseTextContrast:#ededf0}.admin-md-editor-wrap [class*=_toolbarRoot_]{background-color:#242426!important;border-bottom:1px solid #3c3c42!important}.admin-md-editor-wrap .cm-editor{background:#1e1e20!important;color:#d4d4d8!important}.admin-md-editor-wrap .cm-editor .cm-content,.admin-md-editor-wrap .cm-editor .cm-line{color:#d4d4d8!important}.admin-md-editor-wrap .cm-gutters{background:transparent!important;border-color:#3c3c42!important;color:#6b6b72!important}.admin-md-editor-wrap .cm-activeLine,.admin-md-editor-wrap .cm-activeLineGutter{background:#2c2c30!important}}.admin-input{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--text);background:var(--color-bg);font-family:inherit}.admin-input:focus{outline:2px solid var(--color-blue-ring);border-color:var(--blue)}.admin-select,.admin-select-sm{padding:8px 28px 8px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--text);background:var(--color-bg);font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.admin-select{min-width:200px}.admin-select-sm{min-width:150px}.admin-btn{padding:8px 18px;background:var(--blue);color:white;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .15s}.admin-btn:hover{background:var(--color-blue-hover)}.admin-saved{font-size:12px;color:var(--color-success);font-weight:500}.chat-loading{flex:1;display:flex;align-items:center;justify-content:center}.skeleton-row{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--border-light) 25%,var(--bg-sidebar) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;margin:8px 0}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-loading{flex:1;align-items:center;justify-content:center;text-align:center;color:var(--text-3);font-size:13px}.admin-checklist,.admin-loading{min-height:120px;display:flex;border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-sidebar)}.admin-checklist{flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;padding:8px;flex-shrink:0}.admin-check-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.admin-check-item input{cursor:pointer}.admin-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--color-blue-tint);color:var(--color-blue);border:1px solid var(--color-blue-subtle);border-radius:99px;font-size:12px;font-weight:500}.admin-chip-del{background:none;border:none;color:var(--color-blue);cursor:pointer;font-size:11px;padding:0 2px;opacity:.5;transition:opacity .12s}.admin-chip-del:hover{opacity:1}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:8px 10px;font-weight:600;color:var(--text-2);border-bottom:1px solid var(--color-border);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:10px;border-bottom:1px solid var(--border-light)}.admin-table tr.saving{opacity:.5}.admin-user-cell{display:flex;flex-direction:column}.admin-user-name{font-weight:500;color:var(--text)}.admin-user-email{font-size:12px;color:var(--text-3)}.admin-feedback{margin-top:8px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.admin-feedback.ok{background:var(--color-success-bg);color:var(--color-success)}.admin-feedback.error{background:var(--color-error-bg);color:var(--color-error-hover)}.admin-btn-del{background:none;border:none;color:var(--text-3);cursor:pointer;font-size:14px;padding:4px 8px;border-radius:4px;transition:all .15s}.admin-btn-del:hover{background:var(--color-error-bg);color:var(--color-error-hover)}.teams-layout{display:flex;flex:1;gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;min-height:0}.teams-sidebar{width:180px;flex-shrink:0;background:var(--bg-sidebar);display:flex;flex-direction:column}.teams-sidebar-header{display:flex;gap:6px;padding:12px;border-bottom:1px solid var(--border-light)}.teams-sidebar-header .admin-input{flex:1;min-width:0;font-size:13px;padding:6px 10px}.teams-list{flex:1;overflow-y:auto;padding:6px}.teams-item{display:flex;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text-2);font-size:13px;transition:all .12s}.teams-item:hover{background:var(--bg-hover);color:var(--text)}.teams-item.active{background:var(--bg);color:var(--text);font-weight:500}.teams-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teams-item-del{opacity:0;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:4px;transition:all .12s}.teams-item:hover .teams-item-del{opacity:1}.teams-item-del:hover{color:var(--color-error)}.teams-detail{flex:1;background:var(--bg);display:flex;flex-direction:column;min-height:0;padding:12px;gap:8px;overflow:hidden}.teams-search{flex:0 0 auto!important;width:100%;font-size:13px!important;padding:7px 12px!important;border-radius:6px!important}.teams-columns{gap:10px}.teams-col,.teams-columns{display:flex;flex:1;min-height:0;overflow:hidden}.teams-col{flex-direction:column;min-width:0}.teams-col-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-3);padding:0 4px 6px}.teams-col-count{background:var(--bg-hover);border-radius:99px;padding:1px 7px;font-size:11px;font-weight:400}.teams-col-list{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-sidebar);padding:4px}.teams-col-list::-webkit-scrollbar{width:3px}.teams-col-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.teams-doc-item{display:flex;align-items:center;border-radius:5px;transition:background .12s}.teams-doc-item:hover{background:var(--bg-hover)}.teams-doc-main{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:6px 8px;border:none;background:none;border-radius:5px;cursor:pointer;font-size:12px;font-family:inherit;color:var(--text-2);text-align:left;transition:color .12s}.teams-doc-item:hover .teams-doc-main{color:var(--text)}.teams-doc-del{opacity:0;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:10px;padding:4px 6px;border-radius:4px;transition:opacity .12s,color .12s;flex-shrink:0}.teams-doc-item:hover .teams-doc-del{opacity:1}.teams-doc-del:hover{color:var(--color-error)}.teams-doc-item.just-added{background:var(--color-success-bg);transition:background .3s}.teams-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teams-doc-arrow{font-size:11px;color:var(--text-3);flex-shrink:0;opacity:0;transition:opacity .12s}.teams-doc-item:hover .teams-doc-arrow{opacity:1;color:var(--blue)}.teams-upload-btn{display:inline-flex;align-items:center;padding:6px 14px;font-size:12px;font-weight:500;font-family:inherit;color:var(--blue);background:var(--color-blue-subtle);border:1px solid var(--color-blue-soft);border-radius:6px;cursor:pointer;transition:all .15s}.teams-upload-btn:hover{background:var(--color-blue-tint);border-color:var(--color-blue-ring)}.teams-col-empty{padding:20px;font-size:12px}.teams-col-empty,.teams-empty{display:flex;align-items:center;justify-content:center;color:var(--text-3)}.teams-empty{flex:1;font-size:14px}.admin-check-item.just-saved{background:var(--color-success-bg);border-radius:4px;transition:background .3s}.alias-modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay-light);display:flex;align-items:center;justify-content:center;z-index:1100}.alias-modal{background:var(--bg);border-radius:var(--radius-xl);padding:24px;width:380px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.alias-modal-title{font-size:15px;font-weight:600;color:var(--text)}.alias-modal-file{font-size:12px;color:var(--text-3);word-break:break-all}.alias-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.alias-modal-skip{padding:8px 16px;background:none;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--text-2);cursor:pointer;transition:all .15s}.alias-modal-skip:hover{background:var(--bg-hover)}.sources-layout{display:flex;flex:1;gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;min-height:0}.sources-list-panel{width:260px;flex-shrink:0;background:var(--bg-sidebar);display:flex;flex-direction:column}.sources-header{display:flex;gap:6px;padding:12px;border-bottom:1px solid var(--border-light)}.sources-header .admin-input{flex:1;min-width:0;font-size:13px;padding:6px 10px}.sources-header .admin-btn{padding:6px 12px;flex-shrink:0}.sources-add-wrap{position:relative;padding:8px 12px;border-top:1px solid var(--border-light)}.sources-add-btn{width:100%;padding:8px;border:none;border-radius:8px;background:var(--color-blue);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.sources-add-btn:hover{opacity:.85}.upload-progress-bar{width:100%;height:34px;border-radius:8px;background:var(--bg-hover);position:relative;overflow:hidden}.upload-progress-fill{height:100%;background:var(--color-blue);border-radius:8px;transition:width .2s ease}.upload-progress-fill.indeterminate{width:40%;animation:indeterminate-slide 1.2s ease-in-out infinite}@keyframes indeterminate-slide{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}.upload-progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;mix-blend-mode:difference}.add-source-menu{position:absolute;bottom:calc(100% + 4px);left:12px;right:12px;width:auto;background:var(--bg);border:1px solid var(--border-light);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:20;overflow:hidden}.add-source-option{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:none;background:none;cursor:pointer;text-align:left;transition:background .15s}.add-source-option:hover{background:var(--bg-hover)}.add-source-option+.add-source-option{border-top:1px solid var(--border-light)}.add-source-option strong{display:block;font-size:13px;color:var(--text)}.add-source-option small{display:block;font-size:11px;color:var(--text-3);margin-top:1px}.add-source-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;background:var(--bg-hover);color:var(--text-2)}.sources-list{flex:1;overflow-y:auto;padding:6px}.sources-item{display:flex;align-items:center;border-radius:6px;transition:all .12s}.sources-item:hover{background:var(--bg-hover)}.sources-item.active{background:var(--bg)}.sources-item-main{flex:1;min-width:0;padding:8px 10px;background:none;border:none;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}.sources-item-name{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sources-item.active .sources-item-name{font-weight:500}.sources-item-file{font-size:11px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sources-item-del{opacity:0;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:11px;padding:2px 6px;margin-right:4px;border-radius:4px;transition:all .12s}.sources-item:hover .sources-item-del{opacity:1}.sources-item-del:hover{color:var(--color-error)}.sources-editor-panel{flex:1;background:var(--bg);display:flex;flex-direction:column;min-height:0;overflow:hidden}.sources-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border-light)}.sources-editor-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.sources-editor-alias{font-size:14px;font-weight:500;color:var(--text)}.sources-editor-filename{font-size:11px;color:var(--text-3);white-space:nowrap}.sources-editor-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.sources-textarea{resize:none;border:none;outline:none;font-size:13px;line-height:1.6;color:var(--text);background:var(--bg);-moz-tab-size:2;-o-tab-size:2;tab-size:2}.sources-preview,.sources-textarea{flex:1;padding:14px;font-family:SF Mono,Fira Code,monospace}.sources-preview{overflow:auto;font-size:12px;line-height:1.5;color:var(--text-2);margin:0;white-space:pre-wrap;word-break:break-word}.sources-subtabs{display:flex;gap:2px;background:var(--bg-hover);border-radius:6px;padding:2px;flex-shrink:0}.sources-subtab{padding:4px 12px;border:none;background:none;border-radius:4px;font-size:12px;font-family:inherit;color:var(--text-3);cursor:pointer;transition:all .12s}.sources-subtab.active{background:var(--bg);color:var(--text);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.06)}.sources-meta{flex:1;overflow-y:auto;padding:14px;gap:12px}.sources-meta,.sources-meta-field{display:flex;flex-direction:column}.sources-meta-field{gap:4px}.sources-meta-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.sources-meta-input{padding:7px 10px;border:1px solid var(--border-light);border-radius:6px;font-size:13px;font-family:inherit;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s}.sources-meta-input:focus{border-color:var(--text-3)}.sources-meta-textarea{padding:7px 10px;border:1px solid var(--border-light);border-radius:6px;font-size:13px;font-family:inherit;color:var(--text);background:var(--bg);outline:none;resize:vertical;line-height:1.5;transition:border-color .15s}.sources-meta-textarea:focus{border-color:var(--text-3)}.sources-meta-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:4px}.sources-content-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.sources-content-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 14px;border-top:1px solid var(--border-light)}.sources-empty{flex:1}.an-center,.sources-empty{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-size:14px}.an-center,.an-page{height:100vh}.an-page{max-width:1040px;margin:0 auto;padding:32px 28px 64px;overflow-y:auto}.an-page::-webkit-scrollbar{width:4px}.an-page::-webkit-scrollbar-track{background:transparent}.an-page::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.an-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.an-header h1{font-size:20px;font-weight:700;color:var(--text)}.an-back{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-3);text-decoration:none;padding:6px 12px 6px 8px;border:1px solid var(--color-border);border-radius:8px;transition:all .15s}.an-back:hover{color:var(--text);background:var(--bg-hover)}.an-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.an-card{background:var(--bg);border:1px solid var(--border-light);border-radius:12px;padding:18px 20px}.an-card--hero{border-color:var(--blue);border-width:1.5px}.an-card-label{font-size:11px;color:var(--text-3);font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.an-card-value{font-size:32px;font-weight:700;color:var(--text);line-height:1.1}.an-card-sub{font-size:12px;color:var(--text-3);margin-top:4px}.an-satisfaction-detail{display:inline-flex;align-items:center;gap:2px}.an-sat-up{color:var(--color-success);font-weight:600}.an-sat-down{color:var(--color-error-hover);font-weight:600}.an-panel{background:var(--bg);border:1px solid var(--border-light);border-radius:12px;padding:18px 20px}.an-page>.an-panel{margin-bottom:16px}.an-panel h3{font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:14px}.an-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.an-panel-header h3{margin-bottom:0}.an-toggle{display:flex;background:var(--bg-hover);border-radius:6px;padding:2px}.an-toggle-btn{padding:3px 10px;border:none;background:none;border-radius:4px;font-size:12px;font-family:inherit;color:var(--text-3);cursor:pointer;transition:all .12s}.an-toggle-btn.active{background:var(--bg);color:var(--text);font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.06)}.recharts-default-tooltip{background:var(--bg-1,#fff)!important}.an-voted-list{max-height:500px;overflow-y:auto}.an-voted-list::-webkit-scrollbar{width:3px}.an-voted-list::-webkit-scrollbar-track{background:transparent}.an-voted-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.an-voted-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-light)}.an-voted-item:last-child{border-bottom:none}.an-voted-item.compact{padding:8px 0;gap:8px}.an-voted-icon{flex-shrink:0;margin-top:2px}.an-voted-body{flex:1;min-width:0}.an-voted-question{font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px;line-height:1.4}.an-voted-answer{font-size:12px;color:var(--text-3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.an-voted-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-3)}.an-voted-user{font-weight:500;color:var(--text-2)}.an-voted--up{border-left:2px solid var(--color-success);padding-left:12px}.an-voted--down{border-left:2px solid var(--color-error-hover);padding-left:12px}.an-users-list{max-height:600px;overflow-y:auto}.an-users-list::-webkit-scrollbar{width:3px}.an-users-list::-webkit-scrollbar-track{background:transparent}.an-users-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}.an-user-row{border-bottom:1px solid var(--border-light)}.an-user-row:last-child{border-bottom:none}.an-user-summary{display:flex;align-items:center;gap:16px;width:100%;padding:12px 4px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.an-user-summary:hover{background:var(--bg-hover)}.an-user-cell{display:flex;flex-direction:column;flex:1;min-width:0}.an-user-name{font-weight:500;color:var(--text);font-size:13px}.an-user-email{font-size:11px;color:var(--text-3)}.an-user-stats{display:flex;align-items:center;gap:14px;flex-shrink:0}.an-user-stat{font-size:12px;color:var(--text-3);white-space:nowrap}.an-user-votes{font-size:12px;display:flex;align-items:center;gap:2px}.an-user-chevron{flex-shrink:0;color:var(--text-3);transition:transform .15s}.an-user-row.expanded .an-user-chevron{transform:rotate(180deg)}.an-user-detail{padding:4px 16px 16px}.an-user-detail-stats{display:flex;gap:24px;margin-bottom:16px;padding:12px 16px;background:var(--bg-hover);border-radius:8px}.an-detail-stat{display:flex;flex-direction:column;gap:2px}.an-detail-label{font-size:11px;color:var(--text-3);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.an-detail-val{font-size:16px;font-weight:600;color:var(--text)}.an-user-voted{padding-left:4px}@media (max-width:768px){.an-cards{grid-template-columns:repeat(2,1fr)}.an-user-stats{gap:8px}.an-user-detail-stats{flex-wrap:wrap;gap:12px}}.sidebar-overlay{display:none}@media (max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:40}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:280px;transform:translateX(0);transition:transform .25s ease;box-shadow:4px 0 24px rgba(0,0,0,.15)}.sidebar[style*="width: 0"]{transform:translateX(-100%);box-shadow:none}.messages{padding:24px 16px 12px}.input-area{padding:12px 12px 16px}#chat-input{font-size:16px;min-height:72px}.welcome-center{padding:0 16px;gap:24px}.welcome-greeting{font-size:.95rem}.suggestions-row{padding:0 12px}.msg-bubble{max-width:100%}}.conv-layout{flex:1;gap:1px;background:var(--border-light);border-radius:8px;overflow:hidden}.conv-col,.conv-layout{display:flex;min-height:0}.conv-col{flex-direction:column;background:var(--bg)}.conv-col--users{width:240px;flex-shrink:0}.conv-col--questions{width:320px;flex-shrink:0}.conv-col--messages{flex:1;min-width:0}.conv-search{padding:10px 12px;border:none;border-bottom:1px solid var(--border-light);background:var(--bg-sidebar);font-size:13px;font-family:inherit;color:var(--text);outline:none}.conv-search::-moz-placeholder{color:var(--text-3)}.conv-search::placeholder{color:var(--text-3)}.conv-list{flex:1;overflow-y:auto}.conv-item{display:block;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--border-light);background:none;text-align:left;cursor:pointer;font-family:inherit;transition:background .12s}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--color-blue-tint)}.conv-item.deleted{opacity:.5}.conv-item-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-meta{font-size:11px;color:var(--text-3);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.conv-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;background:var(--color-blue-tint);color:var(--color-blue);font-weight:500}.conv-badge--dim{background:var(--bg-hover);color:var(--text-3)}.conv-badge--green{background:#dcfce7;color:#16a34a}.conv-badge--red{background:#fee2e2;color:#dc2626}.conv-col-header{padding:10px 12px;border-bottom:1px solid var(--border-light);background:var(--bg-sidebar);display:flex;justify-content:space-between;align-items:center}.conv-col-title{font-size:13px;font-weight:600;color:var(--text)}.conv-col-sub{font-size:11px;color:var(--text-3)}.conv-messages{flex:1;overflow-y:auto;padding:16px;gap:16px}.conv-messages,.conv-msg{display:flex;flex-direction:column}.conv-msg{gap:4px}.conv-msg--user{align-items:flex-end}.conv-msg--user .conv-msg-body{background:var(--color-blue-tint);color:var(--text);border-radius:16px;padding:8px 14px;max-width:80%;font-size:14px;white-space:pre-wrap;line-height:1.5}.conv-msg--assistant .conv-msg-body{color:var(--text);font-size:14px;line-height:1.7;max-width:100%;overflow-wrap:break-word;word-break:break-word}.conv-msg--assistant .conv-msg-body p{margin:0 0 10px}.conv-msg--assistant .conv-msg-body p:last-child{margin-bottom:0}.conv-msg--assistant .conv-msg-body h1,.conv-msg--assistant .conv-msg-body h2,.conv-msg--assistant .conv-msg-body h3{margin:14px 0 6px;line-height:1.35}.conv-msg--assistant .conv-msg-body ol,.conv-msg--assistant .conv-msg-body ul{margin:0 0 10px;padding-left:20px}.conv-msg--assistant .conv-msg-body table{border-collapse:collapse;font-size:13px;margin:8px 0}.conv-msg--assistant .conv-msg-body td,.conv-msg--assistant .conv-msg-body th{border:1px solid var(--border-light);padding:4px 8px}.conv-msg--assistant .conv-msg-body th{background:var(--bg-sidebar);font-weight:600}.conv-msg-header{display:flex;align-items:center;gap:8px;font-size:11px}.conv-msg-role{font-weight:600;color:var(--text-2)}.conv-msg-time{color:var(--text-3)}.conv-msg-badges{display:flex;gap:4px}.conv-msg-stats{gap:8px;font-size:10px;margin-top:2px}.conv-empty,.conv-msg-stats{display:flex;color:var(--text-3)}.conv-empty{align-items:center;justify-content:center;flex:1;font-size:13px}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:right-0:after{content:var(--tw-content);right:0}.after\:w-4:after{content:var(--tw-content);width:1rem}.after\:bg-muted:after{content:var(--tw-content)}.after\:bg-muted:after,.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--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\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]: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(3px + 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)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.data-\[size\=sm\]\:gap-4[data-size=sm]{gap:1rem}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[range-end\=true\]\:rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-middle\=true\]\:bg-muted[data-range-middle=true]{background-color:var(--muted)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true],.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[size\=sm\]\:py-4[data-size=sm]{padding-top:1rem;padding-bottom:1rem}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:text-foreground[data-range-middle=true]{color:var(--foreground)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true],.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative{position:relative}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10{z-index:10}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring{border-color:var(--ring)}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:px-4{padding-left:1rem;padding-right:1rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:text-sm{font-size:.875rem;line-height:1.25rem}.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\]{--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(3px + 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)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:hover\:text-foreground:hover:is(.dark *){color:var(--foreground)}@media (min-width:640px){.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}}@media (min-width:768px){.md\:flex-row{flex-direction:row}}@media (min-width:1024px){.lg\:auto-rows-auto{grid-auto-rows:auto}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>span\]\:text-xs>span{font-size:.75rem;line-height:1rem}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_h2\]\:mb-2 h2{margin-bottom:.5rem}.\[\&_h2\]\:mt-4 h2{margin-top:1rem}.\[\&_h2\]\:text-base h2{font-size:1rem;line-height:1.5rem}.\[\&_h2\]\:font-semibold h2{font-weight:600}.\[\&_h3\]\:mb-1 h3{margin-bottom:.25rem}.\[\&_h3\]\:mt-3 h3{margin-top:.75rem}.\[\&_h3\]\:text-sm h3{font-size:.875rem;line-height:1.25rem}.\[\&_h3\]\:font-semibold h3{font-weight:600}.\[\&_li\]\:mb-1 li{margin-bottom:.25rem}.\[\&_p\]\:mb-2 p{margin-bottom:.5rem}.\[\&_strong\]\:font-semibold strong{font-weight:600}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_ul\]\:mb-2 ul{margin-bottom:.5rem}.\[\&_ul\]\:ml-5 ul{margin-left:1.25rem}.\[\&_ul\]\:list-disc ul{list-style-type:disc}