@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Vazirmatn:wght@400;500;700&display=swap";html{box-sizing:border-box;overflow-x:hidden}*,*:before,*:after{box-sizing:inherit}:root{--teal-darkest: #005b6b;--teal-dark: #1f8a9f;--teal-medium: #2db8d3;--teal-light: #5fd4ed;--teal-lightest: #b5f4ff;--page-bg: #0a1315;--header-bg: #0f2028;--header-text: #b5f4ff;--bottom-controls-area-bg: #0f2028;--card-bg: #152a30;--chat-area-bg: #0f1c20;--input-field-bg: #0a1518;--input-bg: var(--input-field-bg);--text-primary: #b5f4ff;--text-primary-general: var(--text-primary);--text-secondary-general: #5fd4ed;--text-accent: #2db8d3;--button-primary-bg: #2db8d3;--button-primary-text: #0a1315;--button-primary-hover-bg: #5fd4ed;--button-secondary-bg: transparent;--button-secondary-text: #5fd4ed;--button-secondary-border: #1f8a9f;--button-secondary-hover-bg: rgba(95, 212, 237, .1);--button-secondary-hover-text: #b5f4ff;--button-secondary-hover-border: #5fd4ed;--link-color: #5fd4ed;--link-hover-color: #b5f4ff;--border-default: #1f8a9f;--border-focus: #5fd4ed;--border-subtle: #005b6b;--user-msg-bg: #0a6277;--user-msg-text: #b5f4ff;--ai-msg-bg: #0d3640;--ai-msg-text: #b5f4ff;--shadow-main: rgba(0, 91, 107, .35);--shadow-interactive-focus: rgba(95, 212, 237, .5);--shadow-messages-user: rgba(31, 138, 159, .4);--shadow-messages-ai: rgba(13, 54, 64, .3);--bar-shadow: rgba(0, 91, 107, .4);--floating-shadow: 0 2px 8px rgba(0, 91, 107, .3), 0 1px 3px rgba(0, 91, 107, .25);--strong-floating-shadow: 0 5px 15px rgba(0, 91, 107, .35), 0 2px 6px rgba(0, 91, 107, .3);--flash-text-color: #b5f4ff;--flash-bg-color: #1f8a9f;--flash-border-color: #2db8d3;--flash-text-success: #b5f4ff;--flash-bg-success: #005b6b;--flash-border-success: #1f8a9f;--flash-text-info: #b5f4ff;--flash-bg-info: #1f8a9f;--flash-border-info: #5fd4ed;--flash-text-warning: #b5f4ff;--flash-bg-warning: #2db8d3;--flash-border-warning: #5fd4ed;--checkbox-border: #2db8d3;--checkbox-checked-bg: var(--button-primary-bg);--checkbox-checkmark: var(--button-primary-text);--context-menu-bg: var(--header-bg);--context-menu-shadow: var(--strong-floating-shadow);--context-menu-border: var(--border-default);--context-menu-item-hover-bg: #1f8a9f;--context-menu-text: var(--text-primary);--attribution-text: #5fd4ed;--msg-menu-btn-color: #5fd4ed;--msg-menu-btn-hover-bg: var(--input-field-bg);--typing-indicator-dot-color: var(--ai-msg-text);--bottom-controls-height: 0;--border-radius-xtra-large: 28px;--border-radius-large: 20px;--border-radius-medium: 12px;--border-radius-small: 8px;--border-radius-pill: 999px;--font-primary: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-persian: "Vazirmatn", var(--font-primary);--text-xs: .75rem;--text-sm: .85rem;--text-base: .9rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--button-height-sm: 32px;--button-height-md: 40px;--button-height-lg: 48px;--touch-target-min: 44px;--icon-size-sm: 16px;--icon-size-md: 20px;--icon-size-lg: 24px;--header-height: 56px;--header-height-single: 56px;--header-total-height: 120px;--sidebar-width: 320px;--sidebar-width-mobile: 85vw;--max-content-width: 1200px;--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-large-desktop: 1400px;--breakpoint-xl-desktop: 1920px;--select-base-bg: var(--input-field-bg);--input-inset-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);--transition-speed-fast: .15s;--transition-speed-normal: .3s;--transition-speed-slow: .5s;--elevation-0: none;--elevation-1: 0 1px 2px 0 rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);--elevation-2: 0 1px 2px 0 rgba(0, 0, 0, .3), 0 2px 6px 2px rgba(0, 0, 0, .15);--elevation-3: 0 4px 8px 3px rgba(0, 0, 0, .15), 0 1px 3px 0 rgba(0, 0, 0, .3);--elevation-4: 0 6px 10px 4px rgba(0, 0, 0, .15), 0 2px 3px 0 rgba(0, 0, 0, .3);--elevation-5: 0 8px 12px 6px rgba(0, 0, 0, .15), 0 4px 4px 0 rgba(0, 0, 0, .3);--surface: var(--page-bg);--surface-variant: var(--card-bg);--surface-container-lowest: var(--page-bg);--surface-container-low: #202020;--surface-container: var(--card-bg);--surface-container-high: #3d3d3d;--surface-container-highest: #484848;--surface-dim: #101010;--surface-bright: #404040;--surface-tint: var(--teal-medium);--surface-elevated: var(--surface-container-high);--state-hover-opacity: .08;--state-focus-opacity: .12;--state-pressed-opacity: .12;--state-dragged-opacity: .16;--state-layer-on-surface: rgba(255, 255, 255, var(--state-hover-opacity));--state-layer-on-primary: rgba(24, 24, 24, var(--state-hover-opacity));--state-layer-on-secondary: rgba(95, 212, 237, var(--state-hover-opacity));--state-layer-error: rgba(255, 84, 73, var(--state-hover-opacity));--easing-standard: cubic-bezier(.2, 0, 0, 1);--easing-emphasized: cubic-bezier(.2, 0, 0, 1);--easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--easing-legacy: cubic-bezier(.4, 0, .2, 1);--duration-short-1: 50ms;--duration-short-2: .1s;--duration-short-3: .15s;--duration-short-4: .2s;--duration-medium-1: .25s;--duration-medium-2: .3s;--duration-medium-3: .35s;--duration-medium-4: .4s;--duration-long-1: .45s;--duration-long-2: .5s;--duration-long-3: .55s;--duration-long-4: .6s;--duration-extra-long-1: .7s;--duration-extra-long-2: .8s;--duration-extra-long-3: .9s;--duration-extra-long-4: 1s}@media(prefers-reduced-motion:reduce){:root{--duration-short-1: 0ms;--duration-short-2: 0ms;--duration-short-3: 0ms;--duration-short-4: 0ms;--duration-medium-1: 0ms;--duration-medium-2: 0ms;--duration-medium-3: 0ms;--duration-medium-4: 0ms;--duration-long-1: 0ms;--duration-long-2: 0ms;--duration-long-3: 0ms;--duration-long-4: 0ms;--duration-extra-long-1: 0ms;--duration-extra-long-2: 0ms;--duration-extra-long-3: 0ms;--duration-extra-long-4: 0ms;--transition-speed-fast: 0s;--transition-speed-normal: 0s;--transition-speed-slow: 0s}}.dark{--teal-darkest: #005b6b;--teal-dark: #1f8a9f;--teal-medium: #2db8d3;--teal-light: #5fd4ed;--teal-lightest: #b5f4ff;--page-bg: #031417;--header-bg: #005b6b;--bottom-controls-area-bg: var(--header-bg);--card-bg: #083540;--chat-area-bg: var(--card-bg);--input-field-bg: #052530;--text-primary: #b5f4ff;--text-secondary: #5fd4ed;--text-placeholder: #2db8d3;--text-secondary-general: var(--text-placeholder);--header-text: var(--text-primary);--button-primary-bg: #2db8d3;--button-primary-text: #031417;--button-primary-hover-bg: #5fd4ed;--button-secondary-bg: transparent;--button-secondary-text: #5fd4ed;--button-secondary-border: #1f8a9f;--button-secondary-hover-bg: rgba(95, 212, 237, .1);--button-secondary-hover-text: #b5f4ff;--button-secondary-hover-border: #5fd4ed;--link-color: #5fd4ed;--link-hover-color: #b5f4ff;--border-default: #1f8a9f;--border-focus: #5fd4ed;--shadow-interactive-focus: rgba(95, 212, 237, .55);--border-subtle: #005b6b;--user-msg-bg: #0a6277;--user-msg-text: #b5f4ff;--ai-msg-bg: #0d3640;--ai-msg-text: #b5f4ff;--shadow-main: rgba(0, 91, 107, .55);--shadow-messages-user: rgba(31, 138, 159, .45);--shadow-messages-ai: rgba(13, 54, 64, .5);--bar-shadow: rgba(0, 91, 107, .6);--floating-shadow: 0 5px 15px rgba(0, 91, 107, .45), 0 2px 5px rgba(0, 91, 107, .4);--strong-floating-shadow: 0 10px 25px rgba(0, 91, 107, .55), 0 4px 10px rgba(0, 91, 107, .45);--flash-text-color: #b5f4ff;--flash-bg-color: #1f8a9f;--flash-border-color: #2db8d3;--flash-text-success: #b5f4ff;--flash-bg-success: #005b6b;--flash-border-success: #1f8a9f;--flash-text-info: #b5f4ff;--flash-bg-info: #1f8a9f;--flash-border-info: #5fd4ed;--flash-text-warning: #b5f4ff;--flash-bg-warning: #2db8d3;--flash-border-warning: #5fd4ed;--checkbox-border: #2db8d3;--checkbox-checked-bg: var(--button-primary-bg);--checkbox-checkmark: var(--button-primary-text);--context-menu-bg: var(--header-bg);--context-menu-shadow: var(--strong-floating-shadow);--context-menu-border: var(--border-default);--context-menu-item-hover-bg: #1f8a9f;--context-menu-text: var(--text-primary);--attribution-text: #5fd4ed;--msg-menu-btn-color: #5fd4ed;--msg-menu-btn-hover-bg: var(--input-field-bg);--typing-indicator-dot-color: var(--ai-msg-text);--select-base-bg: var(--input-field-bg);--input-inset-shadow: inset 0 1px 2px rgba(95, 212, 237, .1);--surface: var(--page-bg);--surface-variant: var(--card-bg);--surface-container-lowest: var(--page-bg);--surface-container-low: #052530;--surface-container: var(--card-bg);--surface-container-high: #1f8a9f;--surface-container-highest: #2db8d3;--surface-dim: #010c0e;--surface-bright: #005b6b;--surface-tint: var(--teal-medium);--state-layer-on-surface: rgba(95, 212, 237, var(--state-hover-opacity));--state-layer-on-primary: rgba(0, 91, 107, var(--state-hover-opacity));--state-layer-on-secondary: rgba(95, 212, 237, var(--state-hover-opacity));--prism-bg: #052530;--prism-text-color: #b5f4ff;--prism-token-comment: #2db8d3;--prism-token-punctuation: #b5f4ff;--prism-token-keyword: #5fd4ed;--prism-token-string: #7ae5a0;--prism-token-function: #5fd4ed;--prism-token-operator: #b5f4ff;--prism-token-number: #ffb366;--prism-token-boolean: #ffb366;--prism-token-selector: #b5f4ff;--prism-token-property: #5fd4ed;--prism-line-highlight-bg: rgba(31, 138, 159, .45);--prism-inline-code-bg: #083540;--prism-inline-code-text: #b5f4ff;--katex-text-color: var(--text-primary);--katex-error-color: #ff8a65}body{margin:0;padding:0;font-family:var(--font-primary);background-color:var(--page-bg);color:var(--text-primary);min-height:100vh;min-height:100dvh;height:100%;display:flex;flex-direction:column;overflow:hidden;transition:background-color .3s ease,color .3s ease;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(max-width:768px){body{font-size:var(--text-base)}button,input,select,textarea{min-height:var(--touch-target-min)}}@media(max-width:480px){body{font-size:var(--text-sm)}}.has-persian,[lang=fa],.has-persian *,[lang=fa] *{font-family:var(--font-persian)}a,a:link,a:visited{color:var(--link-color);text-decoration:none;font-weight:500;transition:color .15s ease;border-radius:var(--border-radius-small)}@media(hover:hover)and (pointer:fine){a:hover,a:focus{color:var(--link-hover-color);text-decoration:underline}}a:focus-visible{color:var(--link-hover-color);text-decoration:underline;outline:2px solid var(--border-focus);outline-offset:2px}select.themed-select-common{font-family:var(--font-primary);font-weight:500;border-radius:var(--border-radius-pill);border:1px solid var(--border-default);background-color:var(--select-base-bg);color:var(--text-primary);outline:none;cursor:pointer;transition:border-color .15s ease,background-color .3s ease,color .3s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right .75rem center;background-size:.65em auto;box-shadow:var(--input-inset-shadow);background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23B5F4FF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}.dark select.themed-select-common{border-color:var(--border-default);color:var(--text-primary);background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23B5F4FF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}@media(hover:hover)and (pointer:fine){select.themed-select-common:hover{border-color:var(--border-focus)}}select.themed-select-common:focus{border-color:var(--border-focus);background-color:var(--select-base-bg);box-shadow:var(--input-inset-shadow),0 0 0 2px var(--shadow-interactive-focus)}.hidden{display:none!important}.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}.mr-xs{margin-inline-end:.3em}.full-width{width:100%}.mb-sm{margin-bottom:.5em}.mt-md{margin-top:1rem}.mt-lg{margin-top:2rem}.block{display:block}.ui-button{background:var(--input-field-bg);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--border-radius-pill);padding:var(--space-sm) var(--space-md);font-size:var(--text-base);font-weight:500;font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-speed-fast) ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--button-height-md);outline:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-decoration:none;box-sizing:border-box;line-height:1.4;will-change:transform,background-color,border-color}.ui-button:hover{background:var(--header-bg);border-color:var(--border-focus);transform:translateY(-1px);box-shadow:var(--floating-shadow)}.ui-button:active{transform:translateY(0);box-shadow:var(--input-inset-shadow)}.ui-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;background:var(--input-field-bg);box-shadow:0 0 0 3px rgba(var(--border-focus),.3)}.ui-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ui-button.primary{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-bg);box-shadow:var(--floating-shadow)}.ui-button.primary:hover{background:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg);box-shadow:var(--strong-floating-shadow)}.ui-button.secondary{background:transparent;border-color:var(--border-default)}.ui-button.secondary:hover{background:var(--input-field-bg);border-color:var(--border-focus)}.ui-button.ghost{background:none;border:none;color:var(--text-primary)}.ui-button.ghost:hover{background:#ffffff14}.ui-button.ghost:focus-visible{background:#ffffff0d}.dark .ui-button.ghost:hover{background:#4dd0e11f}.dark .ui-button.ghost:focus-visible{background:#4dd0e126}.ui-button.icon-only{padding:var(--space-sm);width:var(--button-height-md);height:var(--button-height-md);min-width:var(--button-height-md)}.ui-button.icon-only.small{width:32px;height:32px;min-width:32px;font-size:var(--text-sm)}.ui-button.primary.full-width{padding:var(--space-md);font-size:var(--text-md);font-weight:600;min-height:var(--button-height-lg)}.chat-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:var(--border-radius-large);box-shadow:var(--floating-shadow);gap:var(--space-md);flex-shrink:0;z-index:100;position:sticky;top:calc(var(--header-total-height) + var(--space-sm));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all var(--transition-speed-normal) ease;container-type:inline-size}.chat-toolbar-actions{display:flex;gap:var(--space-sm);align-items:center}.chat-search-container{flex:1;max-width:400px;display:flex;gap:var(--space-md);align-items:center}.search-input,.chat-search-container input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--border-radius-pill);background:var(--input-field-bg);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-primary);outline:none;box-shadow:var(--input-inset-shadow);transition:all var(--transition-speed-fast) ease;min-height:var(--button-height-md);box-sizing:border-box}.search-input::placeholder,.chat-search-container input::placeholder{color:var(--text-secondary-general);opacity:.7}.search-input:focus,.chat-search-container input:focus{border-color:var(--border-focus);box-shadow:var(--input-inset-shadow),0 0 0 2px var(--shadow-interactive-focus)}#conversation-sidebar{grid-area:sidebar;position:sticky;top:calc(var(--header-total-height) + var(--space-sm));align-self:start;height:calc(100vh - var(--header-total-height) - (2 * var(--space-sm)));height:calc(100dvh - var(--header-total-height) - (2 * var(--space-sm)));max-height:calc(100vh - var(--header-total-height) - (2 * var(--space-sm)));max-height:calc(100dvh - var(--header-total-height) - (2 * var(--space-sm)));width:100%;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:var(--border-radius-large);z-index:100;display:flex;flex-direction:column;box-shadow:var(--floating-shadow);overflow:hidden;flex-shrink:0;min-height:0}#conversation-sidebar.open{box-shadow:var(--strong-floating-shadow)}#conversation-sidebar-backdrop{position:fixed;inset:0;background:#00000080;z-index:1040;opacity:0;pointer-events:none;transition:opacity var(--transition-speed-normal) ease}#conversation-sidebar-backdrop.active{opacity:1;pointer-events:auto}.sidebar-header{padding:var(--space-md);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:var(--header-bg)}.sidebar-header h3{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--text-primary)}.sidebar-header-actions{display:flex;gap:var(--space-xs);align-items:center}#close-sidebar-btn{display:none}.conversation-sidebar-header{padding:var(--space-md);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:var(--header-bg)}.conversation-sidebar-header h3{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--text-primary)}.sidebar-actions{padding:var(--space-md);flex-shrink:0}.sidebar-actions .full-width{width:100%}.conversation-actions{padding:var(--space-md);flex-shrink:0}.sidebar-section{flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.sidebar-section-toggle{width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--text-primary);font-size:var(--text-sm);font-weight:500;font-family:var(--font-primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);transition:background-color var(--transition-speed-fast) ease;text-align:left;min-height:var(--button-height-md);box-sizing:border-box;-webkit-user-select:none;user-select:none}.sidebar-section-toggle:hover{background:var(--header-bg)}.sidebar-section-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.sidebar-section-toggle .toggle-icon{font-size:var(--text-xs);transition:transform var(--transition-speed-normal) ease;flex-shrink:0}.sidebar-section-toggle[aria-expanded=true] .toggle-icon{transform:rotate(180deg)}.filter-badge{background:var(--button-primary-bg);color:var(--button-primary-text);font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:var(--border-radius-pill);min-width:18px;text-align:center;line-height:1.4}.filter-badge:empty{display:none}.sidebar-section-content{padding:0 var(--space-md);max-height:0;overflow:hidden;transition:max-height var(--transition-speed-normal) ease,padding var(--transition-speed-normal) ease}.sidebar-section-content:not([hidden]){max-height:1000px;padding:var(--space-sm) var(--space-md) var(--space-md) var(--space-md)}.sidebar-section-content>*{opacity:0;transition:opacity var(--transition-speed-normal) ease}.sidebar-section-content:not([hidden])>*{opacity:1}.sidebar-search-inputs{display:flex;flex-direction:column;gap:var(--space-md)}.sidebar-search-input-wrapper{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;gap:var(--space-xs);align-items:center}.search-input-label{grid-column:1 / -1;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:2px;display:block}.sidebar-search-input-wrapper input{grid-column:1;grid-row:2;padding:0 16px;border:none;border-radius:var(--border-radius-pill);background:var(--input-field-bg);color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-primary);outline:none;transition:background-color .2s var(--easing-standard),box-shadow .2s var(--easing-standard);box-sizing:border-box;min-height:48px;box-shadow:var(--elevation-1)}.sidebar-search-input-wrapper input::placeholder{color:var(--text-secondary-general);opacity:.7}.sidebar-search-input-wrapper input:focus{background:var(--input-field-bg);box-shadow:var(--elevation-2)}.sidebar-search-input-wrapper .ui-button.icon-only{grid-column:2;grid-row:2;flex-shrink:0;width:var(--button-height-md);height:var(--button-height-md);min-width:var(--button-height-md);min-height:var(--button-height-md)}.conversation-search{padding:var(--space-md);flex-shrink:0}.conversation-filters{display:flex;flex-direction:column;gap:var(--space-sm)}.conversation-filters-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.conversation-filter{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.conversation-filter input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--button-primary-bg)}.conversation-filter-tags{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border-default);border-radius:var(--border-radius-small);background:var(--input-field-bg);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-primary);outline:none;transition:border-color var(--transition-speed-fast) ease;box-sizing:border-box}.conversation-filter-tags:focus{border-color:var(--border-focus)}.conversation-filter-clear{padding:var(--space-xs) var(--space-sm);background:none;border:1px solid var(--border-default);border-radius:var(--border-radius-small);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-speed-fast) ease}.conversation-filter-clear:hover{background-color:#ffffff0d;border-color:var(--border-focus)}.dark .conversation-filter-clear:hover{background-color:#4dd0e114}#conversation-list{position:relative;flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-sm);min-height:0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-secondary-general) transparent;contain:layout style paint}#conversation-list::-webkit-scrollbar{width:6px}#conversation-list::-webkit-scrollbar-track{background:transparent}#conversation-list::-webkit-scrollbar-thumb{background-color:var(--text-secondary-general);border-radius:var(--border-radius-pill)}#conversation-list::-webkit-scrollbar-thumb:hover{background-color:var(--text-accent)}#conversation-list-empty{text-align:center;padding:var(--space-xl);color:var(--text-secondary-general);font-size:var(--text-sm)}.conversation-item{padding:12px 16px;margin-bottom:4px;border-radius:var(--border-radius-medium);background:transparent;border:none;cursor:pointer;transition:background-color .2s var(--easing-standard);box-sizing:border-box;position:relative;overflow:hidden;color:var(--text-secondary-general)}.conversation-item:hover{background:var(--header-bg);color:var(--text-primary);transform:none}.conversation-item:active{background:var(--header-bg);transform:none}.conversation-item.active{background:var(--button-primary-bg);color:var(--button-primary-text);border:none;box-shadow:none;font-weight:600}.conversation-item:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity .2s linear;pointer-events:none}.conversation-item:hover:before{opacity:var(--state-hover-opacity)}.conversation-item:active:before{opacity:var(--state-pressed-opacity)}.conversation-item.active:before{opacity:0}.conversation-title{font-weight:500;font-size:var(--text-base);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);line-height:1.4}.conversation-preview{font-size:var(--text-sm);color:var(--text-secondary-general);opacity:.8;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.5;max-height:3em}.conversation-item.active .conversation-title{color:var(--button-primary-text)}.conversation-item.active .conversation-preview{color:var(--button-primary-text);opacity:.7}.conversation-item-title{font-weight:500;font-size:var(--text-base);margin-bottom:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item-preview{font-size:var(--text-sm);color:var(--text-secondary-general);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item.active .conversation-item-preview{color:var(--button-primary-text);opacity:.7}.conversation-meta-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap}.conversation-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary-general);opacity:.9;flex-wrap:wrap}.conversation-item.active .conversation-meta{color:var(--button-primary-text);opacity:.8}.conversation-meta-badges{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.conversation-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--border-radius-pill);background:var(--input-field-bg);color:var(--text-secondary-general);font-size:var(--text-xs);font-weight:500;line-height:1.4;white-space:nowrap;border:1px solid var(--border-subtle);transition:all var(--transition-speed-fast) ease}.conversation-item.active .conversation-badge{background:#fff3;color:var(--button-primary-text);border-color:transparent}.conversation-unread-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--border-radius-pill);background:var(--button-primary-bg);color:var(--button-primary-text);font-size:var(--text-xs);font-weight:600;line-height:1.4;white-space:nowrap;border:none;cursor:pointer;transition:all var(--transition-speed-fast) ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.conversation-unread-badge:hover{background:var(--button-primary-hover-bg);transform:scale(1.05);box-shadow:var(--floating-shadow)}.conversation-unread-badge:active{transform:scale(.95)}.conversation-unread-badge:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.conversation-tags{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap}.conversation-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--border-radius-pill);background:var(--header-bg);color:var(--text-primary);font-size:var(--text-xs);font-weight:500;line-height:1.4;white-space:nowrap;border:1px solid var(--border-default);transition:all var(--transition-speed-fast) ease}.conversation-item.active .conversation-tag{background:#ffffff26;color:var(--button-primary-text);border-color:#ffffff4d}.conversation-tag:hover{background:var(--input-field-bg);border-color:var(--border-focus)}.conversation-item.active .conversation-tag:hover{background:#ffffff40}.conversation-tag-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;padding:0;background:none;border:none;border-radius:50%;color:var(--text-secondary-general);font-size:var(--text-base);line-height:1;cursor:pointer;transition:all var(--transition-speed-fast) ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.conversation-tag-remove-btn:hover{background:#ff000026;color:#f44;transform:scale(1.2)}.conversation-item.active .conversation-tag-remove-btn{color:var(--button-primary-text)}.conversation-item.active .conversation-tag-remove-btn:hover{background:#ffffff4d;color:#fff}.conversation-tag-remove-btn:active{transform:scale(.9)}.conversation-tag-remove-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.conversation-actions-menu{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--transition-speed-fast) ease;pointer-events:none}.conversation-item:hover .conversation-actions-menu,.conversation-item:focus-within .conversation-actions-menu{opacity:1;pointer-events:auto}.conversation-item.active .conversation-actions-menu{opacity:0;pointer-events:none}.conversation-item.active:hover .conversation-actions-menu,.conversation-item.active:focus-within .conversation-actions-menu{opacity:1;pointer-events:auto}@media(hover:none)and (pointer:coarse){.conversation-actions-menu{opacity:0;pointer-events:none}.conversation-item:focus-within .conversation-actions-menu{opacity:1;pointer-events:auto}}.conv-pin-btn,.conv-favorite-btn,.conv-tag-btn,.conv-rename-btn,.conv-archive-btn,.conv-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;background:none;border:none;border-radius:var(--border-radius-small);color:var(--text-secondary-general);font-size:14px;line-height:1;cursor:pointer;transition:all var(--transition-speed-fast) ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;filter:grayscale(.3);opacity:.7}.conv-tag-btn,.conv-rename-btn,.conv-archive-btn{display:none}.conv-pin-btn:hover,.conv-favorite-btn:hover,.conv-delete-btn:hover{background:var(--surface-elevated);filter:grayscale(0);opacity:1}.conversation-item.active .conv-pin-btn,.conversation-item.active .conv-favorite-btn,.conversation-item.active .conv-delete-btn{color:var(--button-primary-text);filter:grayscale(0);opacity:.85}.conversation-item.active .conv-pin-btn:hover,.conversation-item.active .conv-favorite-btn:hover,.conversation-item.active .conv-delete-btn:hover{background:#fff3;opacity:1}.conv-pin-btn:active,.conv-favorite-btn:active,.conv-delete-btn:active{transform:scale(.9)}.conv-pin-btn:focus-visible,.conv-favorite-btn:focus-visible,.conv-delete-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.conv-delete-btn:hover{background:#ff000026;color:#f44}.conversation-item.active .conv-delete-btn:hover{background:#fff3;color:#fff}@media(max-width:768px){.conv-pin-btn,.conv-favorite-btn,.conv-tag-btn,.conv-rename-btn,.conv-archive-btn,.conv-delete-btn{width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--text-lg)}}[dir=rtl] .conversation-meta-row,[dir=rtl] .conversation-meta,[dir=rtl] .conversation-meta-badges,[dir=rtl] .conversation-tags,[dir=rtl] .conversation-actions-menu{flex-direction:row-reverse}#open-sidebar-btn{position:fixed;top:calc(var(--header-total-height) + var(--space-lg));inset-inline-start:var(--space-lg);z-index:1051;padding:var(--space-md);background:var(--button-primary-bg);color:var(--button-primary-text);border:none;border-radius:var(--border-radius-pill);font-size:var(--text-xl);line-height:1;cursor:pointer;box-shadow:var(--strong-floating-shadow);transition:all var(--transition-speed-fast) ease;display:none;align-items:center;justify-content:center;width:var(--button-height-lg);height:var(--button-height-lg);min-width:var(--button-height-lg);min-height:var(--button-height-lg);outline:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#open-sidebar-btn:hover{background:var(--button-primary-hover-bg);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #0000004d}#open-sidebar-btn:active{transform:translateY(0) scale(.95)}#open-sidebar-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.lazy-load-indicator,#lazy-load-indicator{text-align:center;padding:var(--space-md);color:var(--text-secondary-general);font-size:var(--text-sm);font-style:italic;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.no-more-messages-indicator,#no-more-messages-indicator{text-align:center;padding:var(--space-md);color:var(--text-secondary-general);font-size:var(--text-sm);font-style:italic;opacity:.7}.scroll-to-bottom-btn,#scroll-to-bottom-btn{position:fixed;bottom:calc(180px + var(--space-lg));inset-inline-end:var(--space-lg);width:48px;height:48px;border-radius:50%;background:var(--button-primary-bg);color:var(--button-primary-text);border:none;cursor:pointer;font-size:var(--text-xl);z-index:100;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-speed-normal) ease,visibility var(--transition-speed-normal) ease,transform var(--transition-speed-fast) ease;box-shadow:var(--strong-floating-shadow);display:flex;align-items:center;justify-content:center}.scroll-to-bottom-btn.visible,#scroll-to-bottom-btn.visible{opacity:1;visibility:visible;pointer-events:auto}.scroll-to-bottom-btn:hover,#scroll-to-bottom-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000004d;background:var(--button-primary-hover-bg)}.scroll-to-bottom-btn:active,#scroll-to-bottom-btn:active{transform:translateY(0)}.scroll-to-bottom-btn:focus-visible,#scroll-to-bottom-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media(max-width:900px){.scroll-to-bottom-btn,#scroll-to-bottom-btn{bottom:calc(200px + var(--space-md));inset-inline-end:var(--space-md)}}#chat-wrapper::-webkit-scrollbar{width:8px}#chat-wrapper::-webkit-scrollbar-track{background:transparent}#chat-wrapper::-webkit-scrollbar-thumb{background-color:var(--text-secondary-general);border-radius:var(--border-radius-pill);transition:background-color var(--transition-speed-fast) ease}@media(hover:hover)and (pointer:fine){#chat-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--text-accent)}}.msg-menu-btn{position:absolute;top:var(--space-xs);background:none;border:none;padding:0;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:var(--border-radius-pill);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);line-height:1;cursor:pointer;color:var(--msg-menu-btn-color);opacity:.7;transition:opacity var(--transition-speed-fast) ease,background-color var(--transition-speed-fast) ease,color var(--transition-speed-fast) ease,transform .1s ease;z-index:1;-webkit-tap-highlight-color:transparent}.msg-menu-btn.menu-open{opacity:1;background-color:var(--msg-menu-btn-hover-bg);color:var(--text-accent)}@media(hover:hover)and (pointer:fine){.msg-menu-btn:not(.menu-open):hover{opacity:1;background-color:var(--msg-menu-btn-hover-bg);transform:scale(1.05)}}.msg-menu-btn:not(.menu-open):active{opacity:1;background-color:var(--msg-menu-btn-hover-bg);transform:scale(.95)}.msg-menu-btn:focus-visible{opacity:1;outline:2px solid var(--border-focus);outline-offset:1px}.skip-link{position:absolute;top:-40px;inset-inline-start:0;background:var(--button-primary-bg);color:var(--button-primary-text);padding:8px 16px;z-index:10000;text-decoration:none;border-radius:0 0 var(--border-radius-medium) 0;font-weight:500;transition:top var(--transition-speed-fast) ease}.skip-link:focus{top:0;outline:2px solid var(--border-focus);outline-offset:2px}#conversation-sidebar-backdrop{position:fixed;inset:0;background:#00000080;z-index:998;opacity:0;visibility:hidden;transition:opacity var(--transition-speed-normal) ease,visibility var(--transition-speed-normal) ease}#conversation-sidebar-backdrop.active{opacity:1;visibility:visible}.conversation-sidebar{will-change:transform;transform:none;transition:none}.conversation-sidebar.open{transform:none}.scroll-to-latest-btn{position:absolute;bottom:1rem;inset-inline-end:1rem;width:40px;height:40px;border-radius:50%;background:var(--button-primary-bg);color:var(--button-primary-text);border:none;cursor:pointer;font-size:1.2rem;z-index:10;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;box-shadow:var(--floating-shadow);display:flex;align-items:center;justify-content:center}.scroll-to-latest-btn:hover{transform:translateY(-2px);box-shadow:var(--strong-floating-shadow)}.scroll-to-latest-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.web-search-advanced-toggle{background:none;border:none;padding:0;margin:0;color:var(--text-secondary-general);cursor:pointer;font-size:var(--text-sm);display:inline-flex;align-items:center;gap:.4rem;font-weight:500;-webkit-tap-highlight-color:transparent}.web-search-advanced-options{display:none;margin-top:var(--space-sm);padding:var(--space-md);border-radius:var(--border-radius-medium);border:1px solid var(--border-subtle);background:var(--card-bg);box-shadow:var(--floating-shadow)}.web-search-advanced-section{margin-bottom:var(--space-md)}.web-search-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-sm)}.web-search-advanced-label{display:block;margin-bottom:.25rem;font-size:var(--text-sm);color:var(--text-secondary-general);font-weight:500}.web-search-advanced-input{width:100%;font-size:var(--text-sm);padding:.4rem var(--space-sm);border-radius:var(--border-radius-small);border:1px solid var(--border-default);background:var(--input-field-bg);color:var(--text-primary);transition:all var(--transition-speed-fast) ease;box-sizing:border-box}.web-search-advanced-input:focus{border-color:var(--border-focus);box-shadow:var(--input-inset-shadow),0 0 0 2px var(--shadow-interactive-focus)}.web-search-advanced-input--textarea{min-height:120px;resize:vertical}@media(max-width:900px){#conversation-sidebar{position:fixed!important;top:var(--header-total-height);inset-inline-start:0;width:min(360px,90vw);max-width:420px;height:calc(100vh - var(--header-total-height));height:calc(100dvh - var(--header-total-height));border-radius:0 var(--border-radius-large) var(--border-radius-large) 0;transform:translate(-100%);transition:transform var(--transition-speed-normal) cubic-bezier(.4,0,.2,1);z-index:1050;box-shadow:var(--strong-floating-shadow);grid-area:unset;will-change:transform}#conversation-sidebar.open{transform:translate(0)}#conversation-sidebar-backdrop{display:block;opacity:0;visibility:hidden;transition:opacity var(--transition-speed-normal) ease,visibility var(--transition-speed-normal) ease}#conversation-sidebar-backdrop.active{opacity:1;visibility:visible}#open-sidebar-btn{display:flex}#close-sidebar-btn{display:inline-flex}}@media(min-width:901px){#conversation-sidebar{position:sticky;transform:none;transition:none}#conversation-sidebar-backdrop,#open-sidebar-btn,#close-sidebar-btn{display:none!important}}@media(max-width:768px){.ui-button{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}#conversation-sidebar{width:85vw;max-width:360px}.sidebar-section-toggle{min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-md)}.sidebar-search-inputs{gap:var(--space-md)}.sidebar-search-input-wrapper input{min-height:var(--touch-target-min)}.conversation-filters-row{flex-direction:column;align-items:stretch}#chat-wrapper,.conversation-sidebar-header{padding:var(--space-sm) var(--space-md)}.conversation-sidebar-header h3{font-size:var(--text-lg)}.conversation-search,.conversation-actions{padding:var(--space-sm) var(--space-md)}#open-sidebar-btn{top:calc(var(--header-total-height) + 80px);inset-inline-start:var(--space-sm);width:var(--touch-target-min);height:var(--touch-target-min)}.export-modal-content{width:95%;padding:var(--space-lg);max-height:80vh}.modal-actions{flex-direction:column}.modal-actions .ui-button{width:100%;min-width:auto}.web-search-advanced-options{padding:var(--space-sm)}.web-search-advanced-grid{grid-template-columns:1fr}}@media(max-width:600px){.ui-button{font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm);min-height:48px;min-width:48px}.chat-toolbar{padding:var(--space-xs);gap:var(--space-xs)}#open-sidebar-btn{inset-inline-start:var(--space-xs);top:calc(var(--header-total-height) + var(--space-md))}.export-modal-content{padding:var(--space-md);margin:var(--space-sm)}}@media(max-width:480px){.ui-button.icon-only.small{width:28px;height:28px;min-width:28px;font-size:var(--text-xs)}#conversation-sidebar{width:85vw;max-width:320px}}@media(prefers-contrast:high){.ui-button{border-width:2px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@container (max-width: 300px){.chat-toolbar{flex-direction:column;align-items:stretch}.chat-toolbar-actions{justify-content:center}}@container (max-width: 200px){.conversation-sidebar-header h3{font-size:var(--text-lg)}.ui-button{font-size:var(--text-sm);padding:var(--space-xs) var(--space-sm)}}[dir=rtl] .sidebar-header,[dir=rtl] .sidebar-section-toggle{text-align:right}[dir=rtl] .sidebar-header-actions,[dir=rtl] .sidebar-section-toggle,[dir=rtl] .sidebar-search-input-wrapper,[dir=rtl] .conversation-filters-row{flex-direction:row-reverse}[dir=rtl] #conversation-sidebar{border-radius:var(--border-radius-large) 0 0 var(--border-radius-large)}@media(max-width:900px){[dir=rtl] #conversation-sidebar.open{transform:translate(0)}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-primary);font-weight:500;font-size:var(--text-base);line-height:1.5;border-radius:var(--border-radius-medium);cursor:pointer;transition:all var(--duration-short-3) var(--easing-standard);text-decoration:none;border:none;outline:none;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ui-button.text{padding:var(--space-sm) var(--space-md);background:transparent;color:var(--button-primary-bg);min-height:var(--button-height-md)}.ui-button.text:before{content:"";position:absolute;inset:0;background:var(--state-layer-on-surface);opacity:0;transition:opacity var(--duration-short-2) var(--easing-standard)}@media(hover:hover)and (pointer:fine){.ui-button.text:hover:before{opacity:1}}.ui-button.text:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ui-button.text:disabled{color:var(--text-secondary-general);cursor:not-allowed;opacity:.5}.ui-button.icon-only{padding:0;width:var(--button-height-md);height:var(--button-height-md);min-width:var(--button-height-md);min-height:var(--button-height-md);border-radius:var(--border-radius-pill)}.ui-button.icon-only.small{width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.ui-button.icon-only.large{width:var(--button-height-lg);height:var(--button-height-lg);min-width:var(--button-height-lg);min-height:var(--button-height-lg)}.ui-button.ghost{background:transparent;color:var(--text-secondary-general)}.ui-button.ghost:before{content:"";position:absolute;inset:0;background:var(--state-layer-on-surface);opacity:0;transition:opacity var(--duration-short-2) var(--easing-standard);border-radius:inherit}@media(hover:hover)and (pointer:fine){.ui-button.ghost:hover:before{opacity:1}}.ui-input-field{display:flex;flex-direction:column;gap:var(--space-xs);position:relative}.ui-input-label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);display:block}.ui-input-label.required:after{content:" *";color:#f44}.ui-input,.ui-textarea{width:100%;padding:var(--space-sm) var(--space-md);font-family:var(--font-primary);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--input-field-bg);border:1px solid var(--border-default);border-radius:var(--border-radius-small);transition:all var(--duration-short-3) var(--easing-standard);outline:none;box-shadow:var(--input-inset-shadow)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-placeholder)}.ui-input:hover,.ui-textarea:hover{border-color:var(--border-focus)}.ui-input:focus,.ui-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--shadow-interactive-focus)}.ui-input:disabled,.ui-textarea:disabled{background:var(--border-subtle);color:var(--text-secondary-general);cursor:not-allowed;opacity:.6}.ui-input.error,.ui-textarea.error{border-color:#f44}.ui-input.error:focus,.ui-textarea.error:focus{box-shadow:0 0 0 2px #f443}.ui-textarea{min-height:100px;resize:vertical}.ui-select{width:100%;padding:var(--space-sm) var(--space-md);padding-inline-end:2.5rem;font-family:var(--font-primary);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--input-field-bg);border:1px solid var(--border-default);border-radius:var(--border-radius-small);transition:all var(--duration-short-3) var(--easing-standard);outline:none;cursor:pointer;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23888888%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right var(--space-md) center;background-size:.65em auto}[dir=rtl] .ui-select{background-position:left var(--space-md) center}.ui-select:hover{border-color:var(--border-focus)}.ui-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--shadow-interactive-focus)}.ui-select:disabled{background-color:var(--border-subtle);color:var(--text-secondary-general);cursor:not-allowed;opacity:.6}.ui-checkbox-wrapper{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.ui-checkbox{appearance:none;width:20px;height:20px;min-width:20px;min-height:20px;border:2px solid var(--checkbox-border);border-radius:var(--border-radius-small);background:var(--input-field-bg);cursor:pointer;position:relative;transition:all var(--duration-short-3) var(--easing-standard);outline:none}.ui-checkbox:hover{border-color:var(--border-focus)}.ui-checkbox:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ui-checkbox:checked{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-bg)}.ui-checkbox:checked:after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:6px;width:5px;height:10px;border:solid var(--checkbox-checkmark);border-width:0 2px 2px 0;transform:rotate(45deg)}.ui-checkbox:disabled{opacity:.5;cursor:not-allowed}.ui-checkbox-label{font-size:var(--text-base);color:var(--text-primary)}.ui-radio-wrapper{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.ui-radio{appearance:none;width:20px;height:20px;min-width:20px;min-height:20px;border:2px solid var(--checkbox-border);border-radius:50%;background:var(--input-field-bg);cursor:pointer;position:relative;transition:all var(--duration-short-3) var(--easing-standard);outline:none}.ui-radio:hover{border-color:var(--border-focus)}.ui-radio:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ui-radio:checked{border-color:var(--checkbox-checked-bg)}.ui-radio:checked:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--checkbox-checked-bg)}.ui-radio:disabled{opacity:.5;cursor:not-allowed}.ui-radio-label{font-size:var(--text-base);color:var(--text-primary)}.ui-helper-text{font-size:var(--text-sm);color:var(--text-secondary-general);margin-block-start:var(--space-xs)}.ui-helper-text.error{color:#f44}.ui-card{background:var(--card-bg);border-radius:var(--border-radius-medium);padding:var(--space-lg);transition:all var(--duration-short-3) var(--easing-standard)}.ui-card-header{margin-block-end:var(--space-md);padding-block-end:var(--space-md);border-block-end:1px solid var(--border-subtle)}.ui-card-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.ui-card-subtitle{font-size:var(--text-sm);color:var(--text-secondary-general);margin-block-start:var(--space-xs)}.ui-card-content{color:var(--text-primary);line-height:1.6}.ui-card-actions{margin-block-start:var(--space-lg);padding-block-start:var(--space-md);border-block-start:1px solid var(--border-subtle);display:flex;gap:var(--space-sm);align-items:center;justify-content:flex-end}.ui-list{list-style:none;margin:0;padding:0}.ui-list-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);min-height:48px;border-radius:var(--border-radius-small);transition:all var(--duration-short-3) var(--easing-standard);cursor:default;position:relative}.ui-list-item.selected{background:var(--button-primary-bg);color:var(--button-primary-text)}.ui-list-leading{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:var(--button-height-md);height:var(--button-height-md);color:var(--text-secondary-general)}.ui-list-trailing{flex-shrink:0;display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary-general)}.ui-list-divider{height:1px;background:var(--border-subtle);margin-block:var(--space-xs)}.ui-list-section{margin-block:var(--space-md)}.ui-list-section-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary-general);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-sm) var(--space-md);margin:0}#offline-banner,.offline-banner{position:fixed;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;background:#ff6b6b;color:#fff;text-align:center;padding:var(--space-sm);z-index:9999;font-family:var(--font-primary)}[dir=rtl] #offline-banner,[dir=rtl] .offline-banner{text-align:center}.cache-list,.file-list{display:flex;flex-direction:column;gap:.5em}.cache-item,.file-item{border:1px solid var(--border-subtle);border-radius:var(--border-radius-small);padding:.6em;background-color:var(--input-bg)}.cache-item-header,.file-item-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.4em}.cache-item-info,.file-item-info{font-size:.8em;color:var(--text-secondary-general)}.cache-item-title,.file-item-title{font-weight:700;font-size:.9em;color:var(--text-primary)}.cache-item-subtitle,.file-item-subtitle{font-size:.8em;color:var(--text-secondary-general)}.delete-cache-btn,.delete-file-btn{background-color:#e74c3c;color:#fff;border:none;padding:.3em .6em;border-radius:var(--border-radius-small);cursor:pointer;font-size:.85em;transition:background-color var(--transition-speed-fast) ease}.delete-cache-btn:hover,.delete-file-btn:hover{background-color:#c0392b}.error-message{color:#e74c3c;text-align:center}.loading-message,.empty-message{color:var(--text-secondary-general);text-align:center}#pwa-install-banner{position:fixed;inset-inline-end:1rem;bottom:1rem;max-width:400px;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--border-radius-medium);padding:1rem;box-shadow:var(--floating-shadow);z-index:10000;font-family:var(--font-primary)}[dir=rtl] #pwa-install-banner{inset-inline-end:auto;inset-inline-start:1rem}.pwa-install-banner-content{display:flex;align-items:flex-start;gap:.75rem}.pwa-install-banner-main{flex:1}.pwa-install-banner-title{font-weight:500;margin-bottom:.5rem;font-size:1rem}.pwa-install-banner-description{font-size:.875rem;color:var(--text-secondary-general);margin-bottom:.75rem}.pwa-install-banner-actions{display:flex;gap:.5rem}[dir=rtl] .pwa-install-banner-actions{flex-direction:row-reverse}.pwa-install-btn{flex:1;padding:.5rem 1rem;background:var(--button-primary-bg);color:var(--button-primary-text);border:none;border-radius:var(--border-radius-small);cursor:pointer;font-weight:500;font-size:.875rem;transition:background-color var(--transition-speed-fast) ease}.pwa-install-btn:hover{background:var(--button-primary-hover-bg)}.pwa-dismiss-btn{padding:.5rem 1rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--border-radius-small);cursor:pointer;font-size:.875rem;transition:background-color var(--transition-speed-fast) ease}.pwa-dismiss-btn:hover{background:var(--input-field-bg)}.pwa-close-btn{padding:.25rem;background:transparent;border:none;color:var(--text-secondary-general);cursor:pointer;font-size:1.25rem;line-height:1;transition:color var(--transition-speed-fast) ease}.pwa-close-btn:hover{color:var(--text-primary)}.pwa-install-banner-entering{opacity:0;transform:translateY(20px)}.pwa-install-banner-visible{opacity:1;transform:translateY(0);transition:opacity var(--transition-speed-normal) ease,transform var(--transition-speed-normal) ease}.pwa-install-banner-exiting{opacity:0;transform:translateY(20px);transition:opacity var(--transition-speed-normal) ease,transform var(--transition-speed-normal) ease}[dir=rtl] .pwa-install-banner-entering,[dir=rtl] .pwa-install-banner-exiting{transform:translateY(-20px)}@media(prefers-reduced-motion:reduce){.cache-item,.file-item,.delete-cache-btn,.delete-file-btn,.pwa-install-banner,.pwa-install-btn,.pwa-dismiss-btn,.pwa-close-btn{transition:none!important}.cache-item,.file-item{animation:none}.pwa-install-banner-entering,.pwa-install-banner-visible,.pwa-install-banner-exiting{transition:none!important;transform:none!important}}header{background-color:var(--header-bg);color:var(--header-text);width:100%;display:flex;flex-direction:column;padding:0;box-shadow:var(--floating-shadow);-webkit-user-select:none;user-select:none;z-index:1200;transition:background-color var(--transition-speed-normal) ease,color var(--transition-speed-normal) ease,box-shadow var(--transition-speed-normal) ease;position:fixed;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;flex-shrink:0}.header-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 var(--space-md);box-sizing:border-box}#header-top-row{min-height:var(--header-height);height:var(--header-height)}#header-top-row h1{margin:0;font-weight:500;font-size:var(--text-xl);line-height:1.2}#user-controls-nav{display:flex;align-items:center;gap:var(--space-xs)}#header-bottom-row{padding:var(--space-sm) var(--space-md) var(--space-md) var(--space-md);gap:var(--space-md);background-color:#ffffff08;border-top:1px solid rgba(255,255,255,.06)}.dark #header-bottom-row{background-color:#ffffff05;border-top-color:#ffffff0d}#header-bottom-row #allowance{font-weight:500;color:var(--header-text);opacity:.9;white-space:nowrap;font-size:var(--text-sm);flex-shrink:0;font-family:var(--font-primary);line-height:1.4}#header-bottom-row #allowance.premium-account{color:#0ef5d9;font-weight:700;letter-spacing:.01em}.dark #header-bottom-row #allowance.premium-account{color:#7cf3ff}#model-select{flex-grow:1;min-width:180px;max-width:400px;font-size:var(--text-sm);padding:var(--space-sm) var(--space-md);padding-inline-end:2.2rem;color:var(--header-text);border-color:#ffffff40;background-color:#ffffff14;min-height:var(--button-height-md);background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23E0E0E0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}.dark #model-select{color:var(--text-primary);border-color:var(--border-default);background-color:var(--select-base-bg);background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23B2DFDB%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E)}@media(hover:hover)and (pointer:fine){#model-select:hover{border-color:#fff6}.dark #model-select:hover{border-color:var(--border-focus)}}header nav .nav-button{background:none;border:none;color:var(--header-text);border-radius:var(--border-radius-pill);width:var(--button-height-md);height:var(--button-height-md);padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:500;font-size:var(--text-md);cursor:pointer;transition:background-color var(--transition-speed-fast) ease,transform .1s ease;text-decoration:none;line-height:1;box-sizing:border-box;outline:none;flex-shrink:0;-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){header nav .nav-button:hover{background-color:#ffffff14;transform:scale(1.05)}.dark header nav .nav-button:hover{background-color:#4dd0e11f}}header nav .nav-button:active{transform:scale(.95);background-color:#ffffff0d}.dark header nav .nav-button:active{background-color:#4dd0e11a}header nav .nav-button:focus-visible{outline:2px solid var(--header-text);outline-offset:2px;background-color:#ffffff0d}.dark header nav .nav-button:focus-visible{outline-color:var(--border-focus);background-color:#4dd0e126}header nav .nav-button svg{width:22px;height:22px;fill:currentColor;display:block}#theme-toggle{font-size:1.3rem}#language-toggle .language-text{font-size:.85rem;font-weight:600;display:inline-block}main#chat-main-area,main.auth-main{flex-grow:1;width:100%;display:flex;flex-direction:column;overflow:hidden;background-color:var(--chat-area-bg);transition:background-color .3s ease;container-type:inline-size;height:100vh;height:100dvh}#app-content-wrapper{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-template-rows:1fr auto;grid-template-areas:"sidebar chat" "controls controls";overflow:visible;position:relative;container-type:inline-size;gap:var(--space-sm);width:min(calc(100vw - (2 * var(--space-md))),var(--max-content-width));max-width:100%;margin:0 auto;padding-top:calc(var(--header-total-height) + var(--space-sm));padding-left:var(--space-sm);padding-right:var(--space-sm);padding-bottom:var(--space-lg);flex:1;min-height:0;height:calc(100vh - var(--header-total-height));height:calc(100dvh - var(--header-total-height));max-height:calc(100vh - var(--header-total-height));max-height:calc(100dvh - var(--header-total-height));align-items:stretch;transition:grid-template-columns var(--duration-medium-2) var(--easing-standard)}#chat-wrapper{grid-area:chat;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;display:flex;flex-direction:column;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-secondary-general) transparent;-webkit-overflow-scrolling:touch;position:relative;padding-top:var(--space-md);padding-left:var(--space-md);padding-right:var(--space-md);padding-bottom:var(--bottom-controls-height, 0px);max-width:100%;container-type:inline-size;contain:layout style paint}#bottom-controls-container{grid-area:controls}@container (max-width: 900px){#app-content-wrapper{grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:"chat" "controls";padding:var(--header-total-height) var(--space-sm) 180px;padding-top:calc(var(--header-total-height) + env(safe-area-inset-top));padding-bottom:calc(180px + env(safe-area-inset-bottom))}#bottom-controls-container{position:fixed;bottom:0;inset-inline-start:0;inset-inline-end:0;z-index:900;background:var(--bottom-controls-area-bg);box-shadow:0 -2px 8px #0003;padding-bottom:env(safe-area-inset-bottom);border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;max-width:100%;width:100%}}main#chat-main-area{padding-top:0;padding-bottom:0;height:100%;flex:1;display:flex;flex-direction:column}main.auth-main{background-color:var(--page-bg);justify-content:flex-start;align-items:center;padding:2rem;overflow-y:auto;padding-top:var(--space-lg);height:auto}@media(max-width:768px){header{min-height:unset}.header-row{padding:0 var(--space-sm)}#header-top-row h1{font-size:var(--text-lg)}#header-bottom-row{flex-direction:column;align-items:stretch;padding:var(--space-sm);gap:var(--space-sm)}#header-bottom-row #allowance{text-align:center;width:100%;font-size:var(--text-sm)}#model-select{width:100%;max-width:none;font-size:var(--text-sm)}header nav .nav-button{width:var(--touch-target-min);height:var(--touch-target-min)}main#chat-main-area{padding-top:0}main.auth-main{padding-top:calc(var(--header-height-single, 56px) + var(--space-lg));padding-inline-start:var(--space-md);padding-inline-end:var(--space-md)}}@media(max-width:600px){.header-row{padding:0 var(--space-xs)}#header-top-row{min-height:var(--touch-target-min)}#header-top-row h1{font-size:var(--text-md)}header nav .nav-button{width:var(--touch-target-min);height:var(--touch-target-min)}header nav .nav-button svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}#theme-toggle{font-size:var(--text-md)}#user-controls-nav{gap:2px}#header-bottom-row{padding:var(--space-xs) var(--space-sm)}main#chat-main-area{padding-top:0}main.auth-main{padding-top:calc(var(--header-total-height) + var(--space-lg));padding-inline-start:var(--space-sm);padding-inline-end:var(--space-sm)}}@media(max-width:480px){#header-top-row h1{font-size:var(--text-base)}header nav .nav-button{width:36px;height:36px}header nav .nav-button svg{width:14px;height:14px}#user-controls-nav{gap:0}}@media(prefers-reduced-motion:reduce){#chat-wrapper,#conversation-list{scroll-behavior:auto!important}}
