:root{--font-family-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Arial", "Noto Sans", "Liberation Sans", sans-serif;--bg-color-light: #f0f2f5;--bg-image-light: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);--text-color-light: #1d1d1f;--text-color-secondary-light: #6e6e73;--accent-color-light: #007aff;--glass-bg-light: rgba(255, 255, 255, .6);--glass-border-light: rgba(255, 255, 255, .8);--shadow-color-light: rgba(0, 0, 0, .08);--model-bubble-bg-light: #f5f5f7;--danger-color-light: #ff3b30;--code-bg-light: #f5f5f7;--bg-color-dark: #121212;--bg-image-dark: linear-gradient(135deg, #232526 0%, #414345 100%);--text-color-dark: #f5f5f7;--text-color-secondary-dark: #8e8e93;--accent-color-dark: #0a84ff;--glass-bg-dark: rgba(28, 28, 30, .6);--glass-border-dark: rgba(60, 60, 60, .5);--shadow-color-dark: rgba(0, 0, 0, .3);--model-bubble-bg-dark: #2c2c2e;--danger-color-dark: #ff453a;--code-bg-dark: #282c34;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-md: 0 4px 12px var(--shadow-color);--transition-fluid: .4s cubic-bezier(.2, .8, .2, 1)}body{--bg-color: var(--bg-color-light);--bg-image: var(--bg-image-light);--text-color: var(--text-color-light);--text-color-secondary: var(--text-color-secondary-light);--accent-color: var(--accent-color-light);--glass-bg: var(--glass-bg-light);--glass-border: var(--glass-border-light);--shadow-color: var(--shadow-color-light);--model-bubble-bg: var(--model-bubble-bg-light);--danger-color: var(--danger-color-light);--code-bg: var(--code-bg-light);background-color:var(--bg-color);background-image:var(--bg-image);background-attachment:fixed;font-family:var(--font-family-system);color:var(--text-color);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h-dvh-screen{height:100dvh}body.dark-mode{--bg-color: var(--bg-color-dark);--bg-image: var(--bg-image-dark);--text-color: var(--text-color-dark);--text-color-secondary: var(--text-color-secondary-dark);--accent-color: var(--accent-color-dark);--glass-bg: var(--glass-bg-dark);--glass-border: var(--glass-border-dark);--shadow-color: var(--shadow-color-dark);--model-bubble-bg: var(--model-bubble-bg-dark);--danger-color: var(--danger-color-dark);--code-bg: var(--code-bg-dark)}.glass-pane{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--text-color-secondary);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.model-bubble{background-color:var(--model-bubble-bg);color:var(--text-color);overflow:hidden}.model-selector-wrapper{position:relative;width:100%;max-width:280px}.model-selector-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;border-radius:var(--radius-full);transition:all .2s ease}.model-selector-trigger:hover{border-color:var(--accent-color)}.model-selector-trigger:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.tool-selector-options,.model-selector-options{position:absolute;min-width:100%;width:max-content;z-index:10;padding:.5rem;border-radius:var(--radius-2xl);opacity:0;pointer-events:none;transition:all .2s ease-out;max-height:min(280px,45vh);overflow-y:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,10px);transform-origin:bottom center;-ms-overflow-style:none;scrollbar-width:none}.tool-selector-options{min-width:280px;left:1rem;transform:translate(0) translateY(10px)}.model-selector-options::-webkit-scrollbar,.tool-selector-options::-webkit-scrollbar{display:none}.model-selector-options.header-selector{top:calc(100% + 8px);bottom:auto;left:auto;right:0;transform:translateY(10px);transform-origin:top center}.model-selector-options.visible,.tool-selector-options.visible{opacity:1;transform:translate(-50%);pointer-events:auto}.tool-selector-options.visible{transform:translate(0) translateY(0)}.model-selector-options.header-selector.visible{transform:translateY(0)}.model-selector-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-2xl);cursor:pointer;transition:background-color .2s ease,color .2s ease}.model-selector-option:hover{background-color:color-mix(in srgb,var(--accent-color) 20%,transparent)}.model-selector-option.active{background-color:var(--accent-color);color:#fff;font-weight:600}.history-item-actions,.folder-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .2s ease}a:hover .history-item-actions,.history-item-actions:focus-within,.folder-header:hover .folder-actions,.folder-actions:focus-within{opacity:1}.history-item-actions button,.folder-actions button{padding:.3rem;border-radius:var(--radius-full);background-color:transparent;transition:background-color .2s ease}.history-item-actions button:hover,.folder-actions button:hover{background-color:color-mix(in srgb,var(--text-color) 25%,transparent)}.sidebar-search-wrapper{position:relative}.sidebar-search-input{width:100%;padding:.65rem 1rem .65rem 2.5rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--glass-bg) 50%,transparent);border:1px solid var(--glass-border);color:var(--text-color);font-size:.95rem;transition:all .2s ease-out}.sidebar-search-input::placeholder{color:var(--text-color-secondary);opacity:.8}.sidebar-search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-color) 40%,transparent)}.sidebar-search-icon{position:absolute;top:50%;left:1rem;transform:translateY(-50%);color:var(--text-color-secondary);pointer-events:none}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;background:#2c2c2e;color:#f5f5f7;padding:.5rem .75rem;border-radius:var(--radius-2xl);font-size:.875rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease-out;z-index:10001}body.dark-mode [data-tooltip]:after{background:var(--glass-bg);color:var(--text-color);border:1px solid var(--glass-border)}[data-tooltip]:not([data-tooltip-placement]):after,[data-tooltip-placement=bottom]:after{top:100%;left:50%;transform:translate(-50%) translateY(10px) scale(.95);margin-top:8px}[data-tooltip]:not([data-tooltip-placement]):hover:after,[data-tooltip]:not([data-tooltip-placement]):focus-visible:after,[data-tooltip-placement=bottom]:hover:after{opacity:1;transform:translate(-50%) translateY(0) scale(1)}[data-tooltip-placement=top]:after{bottom:100%;left:50%;transform:translate(-50%) translateY(-10px) scale(.95);margin-bottom:8px}[data-tooltip-placement=top]:hover:after,[data-tooltip-placement=top]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0) scale(1)}[data-tooltip-placement=left]:after{top:50%;right:100%;transform:translateY(-50%) translate(-10px) scale(.95);margin-right:8px}[data-tooltip-placement=left]:hover:after,[data-tooltip-placement=left]:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0) scale(1)}[data-tooltip-placement=right]:after{top:50%;left:100%;transform:translateY(-50%) translate(10px) scale(.95);margin-left:8px}[data-tooltip-placement=right]:hover:after,[data-tooltip-placement=right]:focus-visible:after{opacity:1;transform:translateY(-50%) translate(0) scale(1)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background-color:#0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease-out}.modal-backdrop.visible{opacity:1}.modal-dialog{position:fixed;top:50%;left:50%;z-index:50;width:90%;max-height:85vh;transform:translate(-50%,-50%) scale(.95);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.modal-dialog.visible{transform:translate(-50%,-50%) scale(1);opacity:1}.modal-dialog-sm{max-width:400px}.modal-dialog-md{max-width:550px}.modal-dialog-lg{max-width:700px}body.drawer-open{overflow:hidden}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background-color:#0000004d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .3s ease-out}body.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:400px;z-index:50;transform:translate(100%);transition:transform var(--transition-fluid);border-radius:0;border-left:1px solid var(--glass-border);border-top-left-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl);background:var(--glass-bg);padding:1.5rem;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--shadow-md)}body.drawer-open .drawer{transform:translate(0)}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0}.drawer-body{flex-grow:1;min-height:0}.input-glass,.select-glass{width:100%;background:color-mix(in srgb,var(--glass-bg) 50%,transparent);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:.75rem 1rem;font-size:1rem;color:var(--text-color);transition:all .2s ease-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-glass:focus,.select-glass:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-color) 40%,transparent)}.input-glass::placeholder{color:var(--text-color-secondary)}.view-wrapper{position:relative;width:100%;height:100%}.view-container{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .3s ease-in-out,transform .3s ease-in-out;opacity:0;transform:scale(.98);pointer-events:none}.view-container.active{opacity:1;transform:scale(1);pointer-events:auto}@keyframes message-in{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-row:not(.deleting){animation:message-in .4s var(--transition-fluid) backwards}@keyframes history-item-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.history-item-enter{animation:history-item-in .4s ease-out backwards}.history-item{transition:max-height .35s ease-out,opacity .3s ease-out,padding .3s ease-out,margin .3s ease-out,background-color .2s ease,color .2s ease;max-height:60px;overflow:hidden;opacity:1}@keyframes history-item-out{0%{opacity:1;transform:scaleY(1);max-height:60px}to{opacity:0;transform:scaleY(.8);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden}}.history-item.deleting{transform-origin:top;animation:history-item-out .35s ease-out forwards}@keyframes history-item-archive{0%{opacity:1;transform:translate(0);max-height:60px}to{opacity:0;transform:translate(-100%);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden}}.history-item.archiving{animation:history-item-archive .4s ease-in-out forwards}.history-item.hiding{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;pointer-events:none}.folder-wrapper{transition:max-height .35s ease-out,opacity .3s ease-out,padding .3s ease-out,margin .3s ease-out;max-height:2000px;overflow:hidden}@keyframes folder-out{0%{opacity:1;transform:scaleY(1);max-height:2000px}to{opacity:0;transform:scaleY(.8);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden}}.folder-wrapper.deleting{animation:folder-out .35s ease-out forwards}.folder-wrapper.hiding{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}.folder-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .5rem;margin:.25rem 0;border-radius:var(--radius-2xl);cursor:pointer;font-weight:500;transition:background-color .2s ease}.folder-header:hover{background-color:color-mix(in srgb,var(--text-color) 8%,transparent)}.folder-chevron{transition:transform .2s ease-out;color:var(--text-color-secondary)}.folder-chevron.open{transform:rotate(90deg)}.folder-content{padding-left:.75rem;max-height:0;overflow:hidden;transition:max-height .35s ease-out}.history-item.dragging{opacity:.4}.drop-target{background-color:color-mix(in srgb,var(--accent-color) 20%,transparent)!important;outline:1px dashed var(--accent-color);outline-offset:-2px}.root-drop-zone{padding:4px;margin-top:8px;border-radius:var(--radius-2xl);transition:background-color .2s ease}@keyframes file-preview-in{0%{opacity:0;transform:scale(.8);max-height:0px}to{opacity:1;transform:scale(1);max-height:80px}}@keyframes file-preview-out{0%{opacity:1;transform:scale(1);max-height:80px}to{opacity:0;transform:scale(.7);max-height:0;padding:0;margin:0;border:0}}.file-preview-wrapper{max-height:80px;overflow:hidden}.file-preview-wrapper.entering{animation:file-preview-in .3s var(--transition-fluid) forwards}.file-preview-wrapper.deleting{animation:file-preview-out .3s ease-out forwards;pointer-events:none}.file-preview-container{display:flex;gap:.75rem;padding:.5rem .75rem;overflow-x:auto;border-bottom:1px solid var(--glass-border)}.file-preview-item{position:relative;flex-shrink:0;width:80px;height:80px;border-radius:var(--radius-2xl);overflow:hidden;background-color:var(--model-bubble-bg);border:1px solid var(--glass-border)}.file-preview-item img{width:100%;height:100%;object-fit:cover}.file-preview-item .file-info{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:.5rem;text-align:center;color:var(--text-color)}.file-preview-item .file-info span{font-size:.75rem;word-break:break-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.25rem}.remove-file-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:var(--radius-full);background-color:#0009;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;transition:opacity .2s ease,transform .2s ease;z-index:2}.remove-file-btn:hover{opacity:1;transform:scale(1.1)}@keyframes tool-chip-in{0%{opacity:0;transform:translateY(5px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.active-tools-indicator{display:flex;gap:.5rem;padding:.5rem .75rem}.active-tool-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--accent-color) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent-color) 30%,transparent);font-size:.8rem;font-weight:500;color:var(--accent-color);animation:tool-chip-in .3s var(--transition-fluid) backwards}@keyframes lightbox-fade-out{0%{opacity:1}to{opacity:0}}@keyframes lightbox-zoom-out{0%{transform:scale(1)}to{transform:scale(.95)}}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background-color:#00000080;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transition:opacity .3s ease-out}.lightbox-backdrop.visible{opacity:1}.lightbox-backdrop.closing{animation:lightbox-fade-out .2s ease-in forwards}.lightbox-content{position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;transform:scale(.95);transition:opacity .3s var(--transition-fluid),transform .3s var(--transition-fluid)}.lightbox-content.visible{opacity:1;transform:scale(1)}.lightbox-content.closing{animation:lightbox-zoom-out .2s ease-in forwards}.lightbox-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-2xl);box-shadow:0 10px 30px #0000004d}.lightbox-close-btn{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;border-radius:var(--radius-full);background-color:#00000080;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.lightbox-close-btn:hover{transform:scale(1.1);background-color:#000000b3}.settings-section-title{font-size:.875rem;font-weight:600;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--glass-border)}.settings-section-title:first-child{margin-top:0}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.settings-item-label{font-weight:500}.settings-item-description{font-size:.875rem;color:var(--text-color-secondary);margin-top:.1rem}.switch-label{display:flex;align-items:center;gap:10px;cursor:pointer}.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.switch input{display:none}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-full);background-color:color-mix(in srgb,var(--text-color) 20%,transparent);transition:background-color .2s ease}.switch-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:2px;background-color:#fff;border-radius:var(--radius-full);transition:transform .2s ease-out;box-shadow:0 1px 3px #0003}.switch input:checked+.switch-slider{background-color:var(--accent-color)}.switch input:checked+.switch-slider:before{transform:translate(18px)}.btn-outline{padding:.5rem 1rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-2xl);border:1px solid var(--glass-border);background:transparent;color:var(--text-color);transition:all .2s ease}.btn-outline:hover{background-color:color-mix(in srgb,var(--text-color) 10%,transparent);border-color:var(--text-color)}.btn-danger{color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover{background-color:color-mix(in srgb,var(--danger-color) 15%,transparent)}.collapsible-section{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease-out,opacity .3s ease-out;opacity:0}.collapsible-section.expanded{grid-template-rows:1fr;opacity:1}.collapsible-section>div{overflow:hidden}@keyframes suggestion-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.suggestions-container{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:0 4rem .75rem;animation:suggestion-in .4s var(--transition-fluid) backwards}.suggestion-chip{padding:.5rem 1rem;border-radius:var(--radius-full);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-color);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.suggestion-chip:hover{background-color:color-mix(in srgb,var(--accent-color) 20%,transparent);border-color:var(--accent-color);transform:translateY(-2px)}.thoughts-container{border-bottom:1px solid var(--glass-border);background-color:color-mix(in srgb,var(--text-color) 3%,transparent)}.thoughts-expander-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:none;border:none;text-align:left}.thoughts-expander-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.thoughts-expander-content.expanded{grid-template-rows:1fr}.thoughts-expander-content .inner-content{overflow:hidden;min-height:0}.thoughts-expander-content .inner-content .markdown-content{padding:0 1rem .75rem;font-size:.9em;color:var(--text-color-secondary)}.citations-button{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:500;color:var(--text-color-secondary);background-color:color-mix(in srgb,var(--text-color-secondary) 10%,transparent);transition:all .2s ease}.citations-button:hover{background-color:color-mix(in srgb,var(--text-color-secondary) 20%,transparent);color:var(--text-color)}.citations-button .citation-chevron{transition:transform .3s ease-in-out;transform:rotate(-90deg)}.citations-button.open .citation-chevron{transform:rotate(90deg)}.citations-panel{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem}.citation-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:var(--radius-2xl);text-decoration:none;background-color:color-mix(in srgb,var(--text-color-secondary) 5%,transparent);transition:background-color .2s ease}.citation-item:hover{background-color:color-mix(in srgb,var(--text-color-secondary) 10%,transparent)}.citation-index{flex-shrink:0;width:1.25rem;height:1.25rem;border-radius:var(--radius-full);background-color:var(--text-color-secondary);color:var(--bg-color);font-size:.75rem;font-weight:700;display:grid;place-content:center}.citation-content{flex-grow:1}.citation-title{font-weight:600;color:var(--text-color);margin-bottom:.1rem}.citation-uri{font-size:.8rem;color:var(--text-color-secondary);word-break:break-all}.citation-popover{position:absolute;bottom:.5rem;left:calc(100% + 1rem);width:320px;max-height:90%;overflow-y:auto;max-width:80vw;z-index:20;border-radius:var(--radius-2xl);padding:.75rem;opacity:0;transform:translateY(10px) scale(.98);transform-origin:left center;pointer-events:none;transition:transform .2s ease-out,opacity .2s ease-out}.citation-popover.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.citation-popover .citations-panel{padding-top:0}.citation-popover .citation-item{background-color:transparent}.citation-popover .citation-item:hover{background-color:color-mix(in srgb,var(--text-color-secondary) 15%,transparent)}.message-actions{display:flex;gap:.2rem;background:var(--glass-bg);padding:.2rem;border-radius:var(--radius-full);box-shadow:var(--shadow-md);border:1px solid var(--glass-border);opacity:0;margin-top:.5rem;transform:translateY(-5px) scale(.95);pointer-events:none;transition:all .2s ease-out;z-index:5}.group:hover .message-actions{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-color-secondary);background:none;border:none;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:color-mix(in srgb,var(--accent-color) 20%,transparent);color:var(--accent-color)}.action-btn.danger:hover{background:color-mix(in srgb,var(--danger-color) 20%,transparent);color:var(--danger-color)}.message-edit-textarea{width:100%;min-height:80px;background:color-mix(in srgb,var(--glass-bg) 50%,transparent);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:.75rem 1rem;font-size:1rem;line-height:1.5;font-family:var(--font-family-system);color:var(--text-color);resize:vertical;margin-bottom:.5rem}.message-edit-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-color) 40%,transparent)}.message-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes message-out{0%{opacity:1;transform:scaleY(1);max-height:500px;margin-top:1rem;margin-bottom:2.5rem}to{opacity:0;transform:scaleY(.8);max-height:0;padding:0;margin:0;overflow:hidden}}.message-row.deleting{transform-origin:center;animation:message-out .35s ease-out forwards}.raw-text-view{white-space:pre-wrap;word-break:break-all;font-family:SF Mono,Fira Code,Menlo,Consolas,monospace;font-size:.9em;line-height:1.6;background:color-mix(in srgb,var(--text-color) 3%,transparent);border:1px solid var(--glass-border);padding:1rem;border-radius:var(--radius-2xl);color:var(--text-color)}.message-row.justify-end .raw-text-view{background:#ffffff1a;border-color:#fff3}.personas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}@media (min-width: 640px){.personas-grid{gap:1.5rem}}@keyframes card-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.persona-card{position:relative;display:flex;flex-direction:column;background:var(--glass-bg);border-radius:var(--radius-2xl);border:1px solid var(--glass-border);padding:1.5rem;transition:transform .3s ease-out,box-shadow .3s ease-out,border-color .3s ease-out,max-height .35s ease-out,opacity .3s ease-out,padding .35s ease-out,margin .35s ease-out;animation:card-in .4s var(--transition-fluid) backwards;max-height:300px;opacity:1;overflow:hidden}.persona-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px var(--shadow-color);border-color:var(--accent-color)}.persona-card-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease;background-color:color-mix(in srgb,var(--glass-bg) 70%,transparent);border-radius:var(--radius-full);padding:.25rem}.persona-card:hover .persona-card-actions{opacity:1}.persona-card-new{border-style:dashed;cursor:pointer;background:transparent}.persona-card-new:hover{border-color:var(--accent-color);color:var(--accent-color)}@keyframes card-out-delete{0%{opacity:1;transform:translateY(0) scale(1);max-height:300px}to{opacity:0;transform:translateY(20px) scale(.95);max-height:0;padding:0;border:0}}.persona-card.deleting{animation:card-out-delete .4s ease-out forwards;pointer-events:none}.persona-card.hiding{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-width:0;pointer-events:none}.persona-editor-container{display:flex;height:100%;background:var(--glass-bg);border-radius:var(--radius-2xl);overflow-y:auto;box-shadow:var(--shadow-md)}@media (min-width: 768px){.persona-editor-container{overflow-y:hidden}}.persona-editor-form-pane{flex:60%;min-width:0;display:flex;flex-direction:column;padding:1.5rem;border-right:1px solid var(--glass-border)}.persona-editor-builder-pane{flex:40%;min-width:0}.persona-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0;flex-wrap:wrap;gap:.5rem}.persona-editor-header h2{font-size:1.75rem;font-weight:700}.persona-editor-scroll-area{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;padding-right:1rem;margin-right:-1rem}.persona-editor-scroll-area .form-group label{font-weight:600;margin-bottom:.5rem;display:block}.persona-editor-scroll-area textarea{min-height:120px;resize:vertical}.persona-editor-builder{display:flex;flex-direction:column;height:100%;padding:1.5rem}.builder-chat-area{flex-grow:1;overflow-y:auto;margin-bottom:1rem}.builder-message{padding:.65rem 1rem;border-radius:var(--radius-2xl);max-width:85%;margin-bottom:.75rem;font-size:.95rem;line-height:1.5;animation:message-in .4s var(--transition-fluid) backwards}.builder-message.user{background-color:var(--accent-color);color:#fff;margin-left:auto;border-bottom-right-radius:.5rem}.builder-message.model{background-color:var(--model-bubble-bg);margin-right:auto;border-bottom-left-radius:.5rem}.applying-changes{display:flex;align-items:center;gap:.5rem;font-style:italic;color:var(--text-color-secondary)}.applying-changes .spinner-sm{width:1rem;height:1rem;border:2px solid var(--glass-border);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.builder-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;color:var(--text-color-secondary);padding:2rem}.builder-welcome .w-12{width:3rem;height:3rem;margin-bottom:1rem;opacity:.5}.builder-welcome h3{font-size:1.25rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.archived-chats-list{display:flex;flex-direction:column;gap:.5rem}.archived-chat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-2xl);background-color:var(--glass-bg);border:1px solid var(--glass-border);transition:background-color .3s ease-out,max-height .35s ease-out,opacity .35s ease-out,padding .35s ease-out,margin .35s ease-out;cursor:pointer;animation:history-item-in .4s ease-out backwards;max-height:60px;overflow:hidden;opacity:1}.archived-chat-item:hover{background-color:color-mix(in srgb,var(--accent-color) 10%,transparent)}.archived-chat-item-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}@keyframes archive-item-out-delete{0%{opacity:1;transform:scaleY(1);max-height:60px}to{opacity:0;transform:scaleY(.8);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;overflow:hidden}}.archived-chat-item.leaving{animation:archive-item-out-delete .35s ease-out forwards;pointer-events:none}.archived-chat-item.hiding{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-width:0;pointer-events:none}.markdown-content{line-height:1.7;word-wrap:break-word;font-size:1rem}.markdown-content>*:first-child{margin-top:0}.markdown-content>*:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content .code-block-wrapper,.markdown-content table,.markdown-content .mermaid{margin:0 0 1em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5{margin:1.5em 0 .8em;font-weight:700;line-height:1.3;padding-bottom:.3em;border-bottom:1px solid var(--glass-border)}.markdown-content h1{font-size:2em}.markdown-content h2{font-size:1.5em}.markdown-content h3{font-size:1.25em}.markdown-content a{color:var(--accent-color);text-decoration:none;font-weight:500}.markdown-content a:hover{text-decoration:underline;text-underline-offset:3px}.message-row.justify-end .markdown-content a{color:inherit;text-decoration:underline}.markdown-content ul,.markdown-content ol{padding-left:2em;list-style-position:outside}.markdown-content ul{list-style-type:disc}.markdown-content ol{list-style-type:decimal}.markdown-content li{margin-bottom:.5em}.markdown-content li>p{margin-bottom:.25em}.markdown-content ul li::marker{color:var(--text-color-secondary)}.markdown-content blockquote{padding:1rem 1.5rem;border-left:4px solid var(--accent-color);background-color:color-mix(in srgb,var(--text-color) 3%,transparent);color:var(--text-color-secondary);border-radius:0 var(--radius-2xl) var(--radius-2xl) 0}.markdown-content blockquote p{margin-bottom:0}.message-row.justify-end .markdown-content blockquote{border-left-color:#ffffffb3;background-color:#ffffff1a}.markdown-content hr{border:none;height:2px;background:linear-gradient(to right,transparent,var(--glass-border),transparent);margin:2.5em 0}.markdown-content table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius-2xl);overflow:hidden;border:1px solid var(--glass-border)}.markdown-content th,.markdown-content td{padding:.75rem 1rem;border-bottom:1px solid var(--glass-border)}.markdown-content td{border-right:1px solid var(--glass-border)}.markdown-content th:last-child,.markdown-content td:last-child{border-right:0}.markdown-content tr:last-child td{border-bottom:0}.markdown-content th{background-color:color-mix(in srgb,var(--text-color) 5%,transparent);font-weight:600;text-align:left}.markdown-content tr:nth-child(2n){background-color:color-mix(in srgb,var(--text-color) 2%,transparent)}.message-row.justify-end .markdown-content th,.message-row.justify-end .markdown-content tr:nth-child(2n){background-color:#ffffff0d}.message-row.justify-end .markdown-content th,.message-row.justify-end .markdown-content td{border-color:#fff3}.markdown-content code:not([class*=language-]){background:color-mix(in srgb,var(--accent-color) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent-color) 25%,transparent);padding:.2em .5em;border-radius:.5rem;font-size:.9em;font-family:SF Mono,Fira Code,Menlo,Consolas,monospace;color:var(--accent-color)}.message-row.justify-end .markdown-content code:not([class*=language-]){background:#ffffff40;border-color:#fff6;color:#fff}.markdown-content .code-block-wrapper{border-radius:var(--radius-2xl);overflow:hidden;background-color:var(--code-bg);border:1px solid var(--glass-border)}.markdown-content .code-block-header{display:flex;justify-content:space-between;align-items:center;background-color:color-mix(in srgb,var(--text-color) 5%,transparent);padding:.5rem 1rem;font-family:SF Mono,Fira Code,Menlo,Consolas,monospace;font-size:.8em;color:var(--text-color-secondary)}.message-row.justify-end .code-block-header{background-color:#0003}.markdown-content .code-block-copy-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-color-secondary);padding:.25rem .5rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.markdown-content .code-block-copy-btn:hover{background-color:color-mix(in srgb,var(--text-color) 10%,transparent);color:var(--text-color)}.markdown-content pre{margin:0}.markdown-content pre code.hljs{padding:1.25rem;font-size:.9em;line-height:1.6;background:none}.markdown-content img{max-width:100%;border-radius:var(--radius-2xl);margin:1em 0}.markdown-content .task-list-item{list-style-type:none;display:flex;align-items:center;gap:.75em;margin-left:-1em}.markdown-content .task-list-item input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;border:2px solid var(--text-color-secondary);border-radius:.35em;display:inline-block;position:relative;cursor:default;flex-shrink:0;margin-top:.2em}.markdown-content .task-list-item input[type=checkbox]:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.markdown-content .task-list-item input[type=checkbox]:checked:before{content:"✔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9em;color:#fff}.message-row.justify-end .markdown-content .task-list-item input[type=checkbox]:checked{background-color:#fff;border-color:#fff}.message-row.justify-end .markdown-content .task-list-item input[type=checkbox]:checked:before{color:var(--accent-color)}.katex-display{overflow-x:auto;overflow-y:hidden;padding:.5rem 0}body:not(.dark-mode) .hljs{background:var(--code-bg);color:#383a42}body:not(.dark-mode) .hljs-comment,body:not(.dark-mode) .hljs-quote{color:#a0a1a7;font-style:italic}body:not(.dark-mode) .hljs-doctag,body:not(.dark-mode) .hljs-keyword,body:not(.dark-mode) .hljs-formula{color:#a626a4}body:not(.dark-mode) .hljs-section,body:not(.dark-mode) .hljs-name,body:not(.dark-mode) .hljs-selector-tag,body:not(.dark-mode) .hljs-deletion,body:not(.dark-mode) .hljs-subst{color:#e45649}body:not(.dark-mode) .hljs-literal{color:#0184bb}body:not(.dark-mode) .hljs-string,body:not(.dark-mode) .hljs-regexp,body:not(.dark-mode) .hljs-addition,body:not(.dark-mode) .hljs-attribute,body:not(.dark-mode) .hljs-meta-string{color:#50a14f}body:not(.dark-mode) .hljs-built_in,body:not(.dark-mode) .hljs-class .hljs-title{color:#c18401}body:not(.dark-mode) .hljs-attr,body:not(.dark-mode) .hljs-variable,body:not(.dark-mode) .hljs-template-variable,body:not(.dark-mode) .hljs-type,body:not(.dark-mode) .hljs-selector-class,body:not(.dark-mode) .hljs-selector-attr,body:not(.dark-mode) .hljs-selector-pseudo,body:not(.dark-mode) .hljs-number{color:#986801}body:not(.dark-mode) .hljs-symbol,body:not(.dark-mode) .hljs-bullet,body:not(.dark-mode) .hljs-link,body:not(.dark-mode) .hljs-meta,body:not(.dark-mode) .hljs-selector-id,body:not(.dark-mode) .hljs-title{color:#4078f2}body:not(.dark-mode) .hljs-emphasis{font-style:italic}body:not(.dark-mode) .hljs-strong{font-weight:700}body:not(.dark-mode) .hljs-link{text-decoration:underline}@keyframes toast-in-right{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out-right{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(50%) scale(.9)}}.toast-root-container{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;align-items:flex-end}.toast-item{display:flex;align-items:center;gap:.75rem;width:350px;max-width:90vw;padding:1rem;border-radius:var(--radius-2xl);animation:toast-in-right .4s var(--transition-fluid);transition:transform .4s var(--transition-fluid),opacity .4s ease-out}.toast-item.leaving{animation:toast-out-right .4s ease-out forwards}.toast-icon{flex-shrink:0}.toast-message{flex-grow:1;font-size:.95rem;font-weight:500;color:var(--text-color);margin:0;padding:0}.toast-close-btn{background:none;border:none;color:var(--text-color-secondary);padding:0;margin-left:auto;cursor:pointer;opacity:.7;transition:opacity .2s ease}.toast-close-btn:hover{opacity:1}.translation-history-item{transition:background-color .2s ease-out,border-color .2s ease-out,max-height .35s ease-out,opacity .35s ease-out,padding .35s ease-out,margin .35s ease-out;max-height:100px;opacity:1;overflow:hidden}.translation-history-item.hiding{opacity:0;max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-width:0;pointer-events:none}
