:root{--side-header-height:48px;--side-header-padding-x:12px;--side-header-padding-y:10px;--side-header-font-size:13px;--side-header-icon-size:16px;--side-header-icon-box:28px}@media (max-width:1600px){:root{--side-header-height:42px;--side-header-padding-x:10px;--side-header-padding-y:8px;--side-header-font-size:12px;--side-header-icon-size:14px;--side-header-icon-box:26px}}@media (max-height:900px){:root{--side-header-height:40px;--side-header-padding-x:8px;--side-header-padding-y:6px;--side-header-font-size:12px;--side-header-icon-size:14px;--side-header-icon-box:24px}}.chat-panel{width:380px;flex:0 0 380px;min-width:280px;max-width:720px;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--surface-soft);border-right:1px solid var(--border-color);transition:width .25s ease,transform .25s ease,opacity .2s ease;overflow:hidden;box-sizing:border-box}.chat-panel.collapsed{width:0;flex-basis:0;min-width:0;max-width:0;border-right:none;transform:translateX(-100%);opacity:0;pointer-events:none}.files-panel{width:380px;flex:0 0 380px;min-width:280px;max-width:720px;height:100%;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--surface-soft);border-right:1px solid var(--border-color);transition:width .25s ease,transform .25s ease,opacity .2s ease;overflow:hidden}.files-panel.collapsed{width:0;flex-basis:0;min-width:0;max-width:0;border-right:none;transform:translateX(-100%);opacity:0;pointer-events:none}.sidebars{width:380px;flex:0 0 380px;min-width:280px;max-width:720px;height:100%;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--surface-soft);border-right:1px solid var(--border-color);transition:width .25s ease,flex-basis .25s ease;overflow:visible;box-sizing:border-box;padding-bottom:var(--viewer-footer-height)}.sidebars.is-resizable{border-right:none}.sidebars.is-resizing{transition:none}.sidebars.collapsed{width:0;flex-basis:0;min-width:0;max-width:0;border-right:none}.sidebar-resize-handle{width:8px;flex:0 0 8px;position:relative;cursor:col-resize;background:transparent;touch-action:none}.sidebar-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:var(--border-color);opacity:.7;transition:background .2s ease,opacity .2s ease}.sidebar-resize-handle-row{width:auto;height:8px;flex:0 0 8px;cursor:row-resize}.sidebar-resize-handle-row:after{left:0;right:0;top:3px;bottom:auto;width:auto;height:1px}.sidebar-resize-handle.is-resizing:after,.sidebar-resize-handle:hover:after{background:var(--primary);opacity:1}.sidebars .chat-panel,.sidebars .files-panel{width:100%;flex:1 1;min-height:0;min-width:0;max-width:none;border-right:none}.sidebars .files-panel{border-bottom:1px solid var(--border-color)}.sidebars.has-split .files-panel{border-bottom:none}.sidebars .chat-panel.collapsed,.sidebars .files-panel.collapsed{height:0;flex-basis:0;min-height:0;max-height:0;border-bottom:none;opacity:0;pointer-events:none}.files-header{min-height:var(--side-header-height);padding:var(--side-header-padding-y) var(--side-header-padding-x);justify-content:space-between;border-bottom:1px solid var(--border-color);background:var(--surface-glass);flex-shrink:0}.files-header,.files-title{display:flex;align-items:center}.files-title{gap:10px;font-size:var(--side-header-font-size);font-weight:600;color:var(--text-primary);line-height:1.25}.files-header-actions{display:inline-flex;align-items:center;gap:8px}.files-header .btn-icon-only,.files-header-button{width:var(--side-header-icon-box);height:var(--side-header-icon-box);padding:0;display:inline-flex;align-items:center;justify-content:center}.files-header-button:disabled{opacity:.6;cursor:not-allowed}.files-header-button.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.files-download-menu,.files-item-menu{position:relative;display:inline-flex;align-items:center}.files-download-dropdown{width:210px;right:0;left:auto}.files-count{font-size:.65rem;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 70%,transparent);color:var(--text-secondary)}.files-body{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:10px 10px 14px;display:flex;flex-direction:column;gap:10px}.files-section-title{font-size:.55rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.files-list{display:flex;flex-direction:column;gap:6px}.files-group,.files-workspace{display:flex;flex-direction:column;gap:4px}.files-folder-item{gap:6px}.files-folder-toggle{width:18px;height:18px;border-radius:6px;border:1px solid color-mix(in srgb,var(--border-color) 82%,transparent);background:var(--bg-tertiary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.files-folder-toggle:hover{background:color-mix(in srgb,var(--bg-tertiary) 82%,var(--surface-elevated));border-color:var(--border-color);color:var(--text-primary)}.files-folder-children{margin-left:4px;padding-left:4px;border-left:1px solid color-mix(in srgb,var(--border-color) 88%,transparent);display:flex;flex-direction:column;gap:8px}.files-folder-section{display:flex;flex-direction:column;gap:6px}.files-folder-heading-button,.files-folder-section-heading{display:flex;align-items:center;gap:8px;min-width:0}.files-folder-heading-button{flex:1 1 auto;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.files-folder-experiments{display:flex;flex-direction:column;gap:8px;margin-left:8px;padding-left:6px;border-left:1px solid color-mix(in srgb,var(--border-color) 78%,transparent)}.files-folder-experiment{display:flex;flex-direction:column;gap:6px}.files-folder-experiment-heading{display:flex;align-items:center;gap:8px;min-width:0}.files-folder-experiment-title{min-width:0;font-size:.63rem;font-weight:600;color:var(--text-secondary)}.files-folder-section-title{min-width:0;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.files-folder-section-count{margin-left:auto;min-width:1.5rem;font-size:.58rem;color:var(--text-muted);text-align:right}.files-folder-empty{padding:4px 0 2px 4px;font-size:.66rem;color:var(--text-muted)}.files-item{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:9px;border:1px solid var(--border-color);background:var(--surface-elevated);text-align:left;color:inherit;cursor:pointer;transition:border-color .2s ease,background .2s ease;width:100%;min-width:0}.files-item-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.files-item-apply,.files-item-delete,.files-item-download{width:20px;height:20px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.files-item-apply:disabled,.files-item-delete:disabled,.files-item-download:disabled{cursor:not-allowed;opacity:.45}.files-item-download:hover{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 28%,transparent)}.files-item-delete:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,transparent)}.files-item-apply:hover{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.files-item.read-only{cursor:default}.files-item:hover{border-color:var(--primary-soft);background:var(--bg-tertiary)}.files-panel.is-disabled .files-item:hover{border-color:var(--border-color);background:var(--surface-elevated)}.files-item.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface-elevated))}.files-item-icon{width:18px;height:18px;border-radius:6px;background:color-mix(in srgb,var(--surface-soft) 75%,var(--bg-tertiary));display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.files-item-content{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.files-item-name{font-size:.76rem;font-weight:600;color:var(--text-primary)}.files-item-meta,.files-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-item-meta{font-size:.6rem;color:var(--text-muted)}.files-item-badge{font-size:.55rem;padding:1px 5px;border-radius:999px;background:var(--primary-gradient);color:var(--primary-contrast)}.files-empty{padding:12px 10px;border-radius:12px;border:1px dashed var(--border-color);color:var(--text-muted);font-size:.75rem;text-align:center;display:flex;flex-direction:column;gap:6px}.files-empty-action{align-self:center;padding:4px 10px;font-size:.7rem;font-weight:600}.files-empty-action:disabled{opacity:.6;cursor:not-allowed}.files-dropzone-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--dialog-backdrop) 64%,transparent);border:2px dashed color-mix(in srgb,var(--primary) 48%,transparent);display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.files-dropzone-card{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-strong);padding:12px 16px;border-radius:14px;font-size:.85rem;font-weight:600;box-shadow:var(--shadow-md)}.chat-panel-header{min-height:var(--side-header-height);padding:var(--side-header-padding-y) var(--side-header-padding-x);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);background:var(--surface-glass);flex-shrink:0;position:relative;z-index:2}.chat-panel-header-left{display:flex;align-items:center;gap:10px;font-size:var(--side-header-font-size);font-weight:600;color:var(--text-primary);line-height:1}.chat-panel-header-title{line-height:1}.chat-panel-header-icon{color:var(--primary)}.chat-panel-header .btn-icon-only{width:var(--side-header-icon-box);height:var(--side-header-icon-box);padding:0;display:inline-flex;align-items:center;justify-content:center}.chat-panel-header-actions{display:flex;align-items:center;gap:6px}.chat-panel-header .btn-icon-only svg,.files-header .btn-icon-only svg{width:var(--side-header-icon-size);height:var(--side-header-icon-size)}.theme-menu,.user-menu{position:relative}.theme-menu-trigger{width:38px;height:38px;border:1px solid var(--border-color);background:var(--surface-soft);border-radius:var(--radius-md)}.theme-menu-swatch{width:16px;height:16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-strong) 80%,transparent)}.theme-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:132px;background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:80;overflow:visible;padding:8px;display:flex;flex-direction:column;gap:8px}.theme-menu-group{display:flex;flex-direction:column;gap:6px}.theme-menu-group-label{padding:0 2px;font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.theme-menu-swatch-row{display:flex;align-items:center;gap:6px}.theme-menu-item{width:30px;height:30px;border:1px solid var(--border-color);background:var(--surface-soft);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.theme-menu-item.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 40%,var(--surface-soft));transform:translateY(-1px)}.theme-menu-item:hover{border-color:var(--border-strong)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:30;overflow:visible}.user-menu-dropdown-main,.user-menu-submenu{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.user-menu-dropdown-main{min-width:180px}.user-menu-submenu{position:absolute;top:0;right:calc(100% + 8px);min-width:200px}.user-menu-submenu-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.user-menu-email,.user-menu-submenu-title{padding:10px 12px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.user-menu-email{font-size:12px}.user-menu-item{width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;text-align:left}.user-menu-item.is-active,.user-menu-item:hover{background:var(--surface-soft)}.chat-body{overflow:hidden}.chat-body,.chat-history-view{flex:1 1;min-height:0;display:flex;flex-direction:column}.chat-history-view{background:var(--surface-soft)}.chat-history-title-row{padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600;background:var(--surface-glass)}.chat-history-list{flex:1 1;overflow-y:auto;gap:10px}.chat-history-item,.chat-history-list{padding:10px;display:flex;flex-direction:column}.chat-history-item{text-align:left;border:1px solid var(--border-color);background:var(--surface-elevated);border-radius:12px;gap:6px;cursor:pointer;transition:border-color .2s,transform .2s}.chat-history-item:hover{border-color:var(--border-strong);transform:translateY(-1px)}.chat-history-item:disabled{cursor:default;opacity:.7;transform:none}.chat-history-item.active{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.chat-history-item-title{font-size:12px;font-weight:600;color:var(--text-primary)}.chat-history-item-preview{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item-meta{font-size:10px;color:var(--text-muted)}.chat-thread{display:flex;flex-direction:column;min-width:0;background:var(--surface-soft);min-height:0;flex:1 1}.chat-thread-header{height:auto;min-height:var(--side-header-height);padding:var(--side-header-padding-y) var(--side-header-padding-x);border-bottom:1px solid var(--border-color);background:var(--surface-glass);display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-shrink:0;box-sizing:border-box}.chat-thread-header>div{min-width:0}.chat-thread-title{font-size:11px;font-weight:600;color:var(--text-primary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread-subtitle{font-size:9px;color:var(--text-muted);line-height:1.3}.chat-context{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.chat-context-chip{font-size:8px;color:var(--text-secondary);background:color-mix(in srgb,var(--surface-soft) 85%,transparent);border:1px solid var(--border-color);border-radius:999px;padding:1px 5px}.chat-messages{flex:1 1;overflow-y:auto;scroll-behavior:auto;padding:12px 10px;gap:10px;min-height:0}.chat-message,.chat-messages{display:flex;flex-direction:column}.chat-message{gap:6px;max-width:90%}.chat-message.assistant{max-width:100%}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.chat-message.system{align-self:center;max-width:85%}.chat-message-bubble{background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-sm)}.chat-message-bubble,.chat-message-plain{color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.chat-message-plain{padding:2px 4px}.chat-message.user .chat-message-bubble{background:var(--message-user-bg);border-color:var(--primary);color:var(--message-user-text)}.chat-message.system .chat-message-bubble{background:transparent;border:none;box-shadow:none;color:var(--text-muted);font-style:italic;text-align:center}.chat-markdown{font-size:14px;line-height:1.5;white-space:normal}.chat-markdown :where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,table,pre,hr){margin:0 0 .7em}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{line-height:1.25;font-weight:700}.chat-markdown h1{font-size:1.45em}.chat-markdown h2{font-size:1.32em}.chat-markdown h3{font-size:1.2em}.chat-markdown h4{font-size:1.1em}.chat-markdown h5,.chat-markdown h6{font-size:1em}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown ol,.chat-markdown ul{margin:0 0 .45em;padding-left:1.15em}.chat-markdown li{margin:.1em 0}.chat-markdown li>p{margin:0}.chat-markdown li>p:only-child{display:inline}.chat-markdown li>ol,.chat-markdown li>ul{margin:.2em 0}.chat-code-block{background:color-mix(in srgb,var(--surface-soft) 88%,transparent);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;overflow-x:auto;margin:0 0 .7em;white-space:pre}.chat-code-block code,.chat-inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.chat-inline-code{background:color-mix(in srgb,var(--surface-soft) 88%,transparent);border:1px solid var(--border-color);border-radius:6px;padding:1px 4px}.chat-link{color:var(--primary);text-decoration:underline;word-break:break-all}.chat-markdown blockquote{border-left:3px solid var(--border-color);padding-left:10px;color:var(--text-secondary)}.chat-markdown table{width:100%;border-collapse:collapse;font-size:13px}.chat-markdown td,.chat-markdown th{border:1px solid var(--border-color);padding:6px 8px;text-align:left}.chat-markdown hr{border:none;border-top:1px solid var(--border-color);margin:.8em 0}.chat-reasoning{border:1px solid var(--border-color);border-radius:12px;background:color-mix(in srgb,var(--bg-primary) 88%,var(--primary) 12%);box-shadow:var(--shadow-sm);padding:6px 8px;margin-bottom:2px}.chat-reasoning-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.chat-reasoning-summary::-webkit-details-marker{display:none}.chat-reasoning-label{line-height:1;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.chat-reasoning-label,.chat-reasoning-toggle{font-size:10px;color:var(--text-muted)}.chat-reasoning-content{margin-top:6px;font-size:12px;color:var(--text-secondary)}.chat-thinking-indicator{align-self:flex-start;border:1px solid var(--border-color);border-radius:999px;padding:7px 12px;position:relative;overflow:hidden;background:linear-gradient(100deg,color-mix(in srgb,var(--bg-primary) 92%,var(--primary) 8%) 0,color-mix(in srgb,var(--bg-primary) 75%,var(--primary) 25%) 50%,color-mix(in srgb,var(--bg-primary) 92%,var(--primary) 8%) 100%);background-size:220% 100%;animation:thinkingHighlight 1.2s linear infinite}.chat-thinking-indicator:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary) 22%,transparent) 50%,transparent 100%);transform:translateX(-100%);animation:thinkingSweep 1.8s ease-in-out infinite;pointer-events:none}.chat-thinking-indicator.is-tool-status{border-color:color-mix(in srgb,var(--primary) 42%,var(--border-color))}.chat-thinking-indicator-text{position:relative;z-index:1;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--text-secondary)}@keyframes thinkingHighlight{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes thinkingSweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.chat-message-attachments{display:grid;grid-gap:8px;gap:8px;margin-top:4px}.chat-tool-event-list{display:grid;grid-gap:6px;gap:6px;margin-top:4px}.chat-tool-event{border:1px solid var(--border-color);border-radius:10px;background:var(--surface-soft)}.chat-tool-event-summary{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;list-style:none}.chat-tool-event-summary::-webkit-details-marker{display:none}.chat-tool-event-status{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.chat-tool-event-label{font-size:12px;color:var(--text-primary);font-weight:600}.chat-tool-event-body{display:grid;grid-gap:6px;gap:6px;padding:0 8px 8px}.chat-tool-event-data{border:1px solid var(--border-color);border-radius:8px;background:var(--surface-elevated);padding:6px}.chat-tool-event-data-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-bottom:4px}.chat-tool-event-data-value{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.chat-tool-approval-list{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.chat-tool-approval{display:grid;grid-gap:8px;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft)}.chat-tool-approval-title{font-size:12px;font-weight:700;color:var(--text-primary)}.chat-tool-approval-input{padding:8px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.chat-tool-approval-actions{display:flex;justify-content:flex-end;gap:8px}.chat-tool-approval-actions .btn-primary,.chat-tool-approval-actions .btn-secondary{min-height:30px;padding:4px 10px;font-size:12px}.chat-attachment-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border-radius:12px;border:1px dashed var(--border-color);background:var(--surface-elevated);font-size:12px;color:var(--text-secondary)}.chat-attachment-chip img{width:32px;height:32px;border-radius:6px;object-fit:cover;border:1px solid var(--border-color)}.chat-attachment-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-attachment-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-note,.chat-attachment-size{font-size:11px;color:var(--text-muted)}.chat-composer{padding:10px 10px 12px;border-top:1px solid var(--border-color);background:var(--surface-glass);margin-top:auto}.composer-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.composer-attachment-chip{position:relative;padding:8px 28px 8px 10px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft);font-size:12px;color:var(--text-secondary);display:flex;flex-direction:column;gap:2px;max-width:220px}.composer-attachment-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-attachment-note,.composer-attachment-size{font-size:11px;color:var(--text-muted)}.composer-attachment-remove{position:absolute;top:6px;right:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:6px}.composer-attachment-remove:hover{color:var(--text-primary);background:var(--surface-soft)}.composer-form{width:100%}.composer-field,.composer-form{display:flex;align-items:center}.composer-field{flex:1 1;gap:10px;min-width:0;padding:6px 48px 6px 8px;border-radius:16px;border:1px solid var(--input-border);background:var(--input-bg);position:relative}.composer-field:focus-within{border-color:var(--primary-outline);box-shadow:var(--focus-ring);background:var(--input-bg)}.composer-attach{width:32px;height:32px;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.composer-attach:hover{background:var(--surface-soft);color:var(--text-primary)}.composer-attach:disabled{opacity:.6;cursor:not-allowed}.bp3-dark .composer-input,.composer-input{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text-primary);font-size:14px;line-height:1.4;resize:none;min-height:34px;padding:4px 40px 4px 4px;box-shadow:none;overflow-y:hidden;outline:none}.chat-composer .composer-field .composer-input{border:0;border-radius:0;background:transparent;box-shadow:none}.composer-input:focus,.composer-input:focus-visible{outline:none;box-shadow:none}.composer-input::placeholder{color:var(--text-muted)}.composer-file-input{display:none}.send-button-icon{position:absolute;right:8px;bottom:8px;top:auto;width:32px;height:32px;border-radius:50%;border:none;background:var(--button-primary-bg);color:var(--primary-contrast);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--button-primary-shadow);transition:transform .2s,box-shadow .2s,background .2s;transform:none}.send-button-icon:hover{background:var(--button-primary-bg-hover);transform:translateY(-1px);box-shadow:var(--button-primary-shadow-hover)}.send-button-icon:disabled{background:color-mix(in srgb,var(--text-muted) 66%,var(--border-color));cursor:not-allowed;box-shadow:none;transform:none}.composer-sign-in-button,.composer-sign-in-button:active,.composer-sign-in-button:focus-visible,.composer-sign-in-button:hover,.composer-sign-in-button:link,.composer-sign-in-button:visited{width:100%;min-height:46px;padding:10px 16px;border-radius:16px;justify-content:center;color:var(--primary-contrast)!important;-webkit-text-fill-color:var(--primary-contrast);text-decoration:none;font-size:14px;-webkit-tap-highlight-color:transparent}.composer-hint{margin-top:8px;font-size:11px;color:var(--text-muted)}.composer-hint.error{color:var(--danger)}.composer-rate-limit{margin-top:8px}.chat-rate-limit-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.files-dialog{width:min(420px,92vw);background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-lg);padding:18px;display:flex;flex-direction:column;gap:10px}.files-dialog-title{font-size:16px;font-weight:600;color:var(--text-primary)}.files-dialog-body{display:flex;flex-direction:column;gap:12px}.files-dialog-field{display:flex;flex-direction:column;gap:6px;font-size:.75rem;color:var(--text-secondary)}.files-dialog-input,.files-dialog-textarea{border:1px solid var(--border-color);border-radius:10px;background:var(--input-bg);color:var(--text-primary);padding:8px 10px;font-size:.85rem}.files-dialog-textarea{min-height:140px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.files-dialog-input:focus,.files-dialog-textarea:focus{outline:none;border-color:var(--primary-outline);box-shadow:var(--focus-ring)}.files-dialog-error{font-size:.75rem;color:var(--danger)}.files-dialog-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--text-primary)}.files-dialog-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary)}.files-dialog-description{font-size:13px;color:var(--text-secondary);line-height:1.4}.files-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.share-dialog{width:min(660px,94vw);max-height:90vh;overflow:auto;background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px;display:flex;flex-direction:column;gap:16px}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-dialog-title{font-size:20px;font-weight:600;color:var(--text-primary)}.share-dialog-close{border:none;background:transparent;padding:6px;border-radius:999px;color:var(--text-secondary);cursor:pointer}.share-dialog-close:hover{background:var(--surface-soft);color:var(--text-primary)}.share-dialog-section{display:flex;flex-direction:column;gap:10px}.share-dialog-section-title{font-size:14px;font-weight:600;color:var(--text-primary)}.share-collaborators{display:flex;flex-direction:column;gap:10px}.share-collaborator-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft)}.share-collaborator-row.pending{border-style:dashed}.share-collaborator-meta{display:flex;flex-direction:column;gap:2px}.share-collaborator-name{font-size:13px;font-weight:600;color:var(--text-primary)}.share-collaborator-email,.share-role-badge{font-size:11px;color:var(--text-secondary)}.share-role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border-color);text-transform:capitalize}.share-role-actions{display:flex;align-items:center;gap:8px}.share-role-select{border-radius:8px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);font-size:13px;padding:6px 8px}.share-remove{color:var(--danger);font-size:12px}.share-remove:hover{text-decoration:underline}.share-invite-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.share-invite-input{flex:1 1;min-width:240px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft);padding:10px 12px;display:flex;align-items:center;gap:8px}.share-invite-input input{flex:1 1;border:none;background:transparent;color:var(--text-primary);font-size:14px;outline:none}.share-empty,.share-loading{font-size:12px;color:var(--text-secondary);padding:6px 2px}.share-readonly{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-secondary);font-size:12px}.share-dialog-status{font-size:12px;color:var(--danger)}.share-general-access{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft)}.share-general-icon{width:36px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 74%,var(--bg-tertiary));display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.share-general-icon.is-link{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.share-general-content{flex:1 1;display:flex;flex-direction:column;gap:6px}.share-general-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.share-copy-button{margin-left:auto}.share-general-description{font-size:12px;color:var(--text-secondary)}.share-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft)}.share-toggle-copy{display:flex;flex-direction:column;gap:4px}.share-toggle-title{font-size:13px;font-weight:600;color:var(--text-primary)}.share-toggle-description{font-size:12px;color:var(--text-secondary)}.share-toggle-switch{position:relative;width:50px;height:30px;border:1px solid var(--border-color);border-radius:999px;background:color-mix(in srgb,var(--text-muted) 18%,var(--bg-primary));color:inherit;cursor:pointer;flex-shrink:0;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.share-toggle-switch:hover:not(:disabled){transform:translateY(-1px);border-color:var(--border-strong)}.share-toggle-switch.is-on{background:color-mix(in srgb,var(--primary) 82%,var(--bg-primary));border-color:color-mix(in srgb,var(--primary) 64%,var(--border-color))}.share-toggle-switch:disabled{opacity:.6;cursor:not-allowed;transform:none}.share-toggle-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--bg-primary);box-shadow:var(--shadow-xs);transition:transform .2s ease}.share-toggle-switch.is-on .share-toggle-thumb{transform:translateX(20px)}.share-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.upload-choice-dialog{width:min(520px,92vw);max-height:90vh;overflow:auto;background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px;display:flex;flex-direction:column;gap:16px}.upload-choice-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.upload-choice-title{font-size:18px;font-weight:600;color:var(--text-primary)}.upload-choice-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.upload-choice-queue{font-size:12px;color:var(--text-secondary);margin-top:4px}.upload-choice-close{border:none;background:transparent;padding:6px;border-radius:999px;color:var(--text-secondary);cursor:pointer}.upload-choice-close:hover{color:var(--text-primary);background:var(--surface-soft)}.upload-choice-options{display:grid;grid-gap:8px;gap:8px}.upload-choice-option{border:1px solid var(--border-color);border-radius:12px;background:var(--surface-soft);padding:12px 14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.upload-choice-option:hover{border-color:var(--primary);background:color-mix(in srgb,var(--surface-soft) 72%,var(--bg-tertiary))}.upload-choice-option-label{font-size:14px;font-weight:600;color:var(--text-primary)}.upload-choice-option-description{font-size:12px;color:var(--text-secondary)}.upload-choice-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media (max-width:900px){.chat-panel,.files-panel,.sidebars{width:100%;max-width:none}.viewer-top-bar{padding-left:8px}.sidebar-resize-handle{display:none}.sidebars{position:absolute;inset:0;z-index:80;border-right:none;box-shadow:var(--shadow-lg);background:var(--surface-elevated)}.chat-panel,.files-panel,.sidebars{width:100%;min-width:0;max-width:none}.sidebars.collapsed{transform:translateX(-100%);opacity:0;pointer-events:none}.app-shell.sidebars-open{padding-top:0}.app-shell.sidebars-open .viewer-panel{display:none}}