:root{--bg-app:#f8f9fb;--bg-surface:#fff;--bg-surface-subtle:#f1f5f9;--bg-surface-hover:#0f172a0a;--bg-surface-active:#eef2ff;--bg-glass-chrome:#f8fafcd9;--bg-glass-surface:#ffffffdb;--bg-glass-popup:#fffffff0;--bg-glass-modal:#fffffff5;--bg-backdrop:#0f172a59;--border-hairline:#0f172a14;--border-hairline-strong:#0f172a24;--border-active:#818cf8;--border-focus:#2563eb;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-dark:#0f172a;--accent-dark-hover:#1e293b;--accent-indigo-subtle:#eef2ff;--accent-indigo-text:#1d4ed8;--color-success:#10b981;--color-success-text:#065f46;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#f59e0b;--color-warning-text:#92400e;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-danger:#ef4444;--color-danger-text:#b91c1c;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-danger-hover-bg:#fee2e2;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-subtle:0 1px 2px #0f172a0a;--shadow-menu:0 10px 25px -5px #0f172a1f, 0 0 0 1px #0f172a0d;--shadow-dialog:0 20px 40px -10px #0f172a38, 0 0 0 1px #0f172a14;--glass-filter:blur(20px) saturate(180%)}*{box-sizing:border-box}html,body,#app{height:100%;min-height:0}body{background:var(--bg-app);min-width:280px;color:var(--text-primary);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h2,p{margin-top:0}h2{letter-spacing:0;color:var(--text-primary);margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--bg-app);flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}textarea:focus,input:focus,button:focus-visible,a:focus-visible{border-color:var(--border-focus);outline-offset:1px;outline:2px solid #2563eb66}.connection-settings{z-index:15;position:relative}.connection-settings-trigger svg{display:block}.connection-settings-menu{border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-glass-popup);width:max-content;min-width:152px;-webkit-backdrop-filter:var(--glass-filter);box-shadow:var(--shadow-menu);z-index:25;outline:none;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.connection-settings-item{border-radius:var(--radius-sm);width:100%;min-height:32px;color:var(--color-danger-text);text-align:left;background:0 0;border:0;padding:7px 10px;font-size:11.5px;font-weight:500;line-height:1.35;transition:background-color .15s;display:block}.connection-settings-item:hover:not(:disabled),.connection-settings-item:focus-visible{background:var(--color-danger-hover-bg);outline:none}.connection-setup{overscroll-behavior:contain;border-bottom:1px solid var(--border-hairline);background:var(--bg-surface);gap:10px;min-height:0;max-height:min(36dvh,320px);padding:12px 14px 14px;display:grid;overflow-y:auto}.label{color:var(--text-secondary);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:600}.error-banner,.inline-error{color:var(--color-danger-text)}.error-banner{border-bottom:1px solid var(--color-danger-border);background:var(--color-danger-bg);overflow-wrap:anywhere;flex:none;max-height:104px;padding:8px 12px;font-size:11.5px;line-height:1.45;overflow:auto}.inline-error,.operation-message{overflow-wrap:anywhere;margin:0;font-size:11.5px;line-height:1.45}.operation-message{color:var(--text-secondary)}.command-button,.secondary-button{border-radius:var(--radius-sm);overflow-wrap:anywhere;min-width:0;min-height:32px;font-weight:500;line-height:1.35;transition:background-color .15s,border-color .15s,color .15s}.command-button{border:1px solid var(--accent-primary);width:100%;color:var(--text-inverse);background:var(--accent-primary);text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.command-button:hover:not(:disabled){background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.command-button span{text-align:right;opacity:.9;flex:0 auto;font-size:10.5px;font-weight:400}.secondary-button{border:1px solid var(--border-hairline-strong);color:var(--text-primary);background:var(--bg-surface);padding:6px 10px;font-size:11.5px}.secondary-button:hover:not(:disabled){background:var(--bg-surface-subtle);border-color:var(--text-muted)}.danger-button{color:var(--color-danger-text);border-color:var(--color-danger-border);background:var(--color-danger-bg)}.danger-button:hover:not(:disabled){background:var(--color-danger-hover-bg);border-color:var(--color-danger-border)}.device-link{border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-surface-subtle);gap:8px;padding:12px;display:grid}.device-link code{border:1px solid var(--border-hairline-strong);border-radius:var(--radius-sm);color:var(--accent-primary);font-family:var(--font-mono);letter-spacing:0;text-align:center;overflow-wrap:anywhere;background:#fff;padding:10px;font-size:17px;font-weight:700}.device-link-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.device-link-actions .secondary-button{text-align:center;padding-inline:4px;font-size:10.5px}.chat-shell{background:var(--bg-app);flex:auto;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.chat-toolbar,.conversation-list-heading{border-bottom:1px solid var(--border-hairline);background:var(--bg-glass-chrome);min-width:0;height:40px;-webkit-backdrop-filter:var(--glass-filter);justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;display:flex}.chat-toolbar{grid-row:1}.chat-title,.chat-title-button{min-width:0;color:var(--text-primary);margin:0;font-size:14px;font-weight:600;line-height:1.4}.chat-title-button{border-radius:var(--radius-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;padding:4px;overflow:hidden}.chat-title-button:hover:not(:disabled),.chat-title-button:focus-visible{border-color:var(--border-hairline);background:var(--bg-surface-hover)}.chat-title-editor{min-width:0}.conversation-title-form{align-items:center;gap:2px;display:flex}.conversation-title-form input{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);width:min(220px,42vw);min-width:0;height:30px;color:var(--text-primary);background:var(--bg-app);font:inherit;padding:4px 7px}.conversation-title-form .icon-button{width:30px;height:30px}.conversation-title-error{color:var(--color-danger-text);margin:2px 4px 0;font-size:11px;line-height:1.25}.conversation-toolbar{align-items:center;gap:4px;display:flex}.icon-button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;place-items:center;padding:0;font-size:16px;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--border-hairline);background:var(--bg-surface-hover);color:var(--text-primary)}.icon-button svg{width:16px;height:16px;display:block}.chat-error{border-bottom:1px solid var(--color-danger-border);background:var(--color-danger-bg);grid-row:2;padding:7px 12px}.conversation-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;grid-row:3;gap:12px;min-height:0;padding:12px 14px;display:flex;overflow:hidden auto}.conversation-empty{min-height:100%;color:var(--text-muted);text-align:center;place-items:center;padding:32px 12px;font-size:13px;font-weight:500;display:grid}.message{border-bottom:1px solid var(--border-hairline);gap:5px;min-width:0;padding:6px 0;display:grid}.message:last-child{border-bottom:0}.message--user{border-left:2px solid var(--accent-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--bg-surface-subtle);border-bottom:0;margin-bottom:2px;padding:9px 12px}.message-role{color:var(--text-secondary);letter-spacing:0;font-size:11px;font-weight:600}.message-content{min-width:0}.markdown-body{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;word-break:break-word;font-size:13px;line-height:1.55}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0 0 6px;font-size:13px;line-height:1.55}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--text-primary);margin:8px 0 4px;font-weight:600;line-height:1.35}.markdown-body h1{font-size:14px}.markdown-body h2{font-size:13.5px}.markdown-body h3{font-size:13px}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:12px}.markdown-body strong,.markdown-body b{font-weight:600}.markdown-body em,.markdown-body i{font-style:italic}.markdown-body del,.markdown-body s,.markdown-body strike{color:var(--text-muted);text-decoration:line-through}.markdown-body a{color:var(--accent-primary);text-underline-offset:2px;text-decoration:underline}.markdown-body a:hover{color:var(--accent-primary-hover)}.markdown-body blockquote{border-left:2.5px solid var(--border-hairline-strong);color:var(--text-secondary);margin:4px 0 6px;padding:2px 0 2px 10px}.markdown-body blockquote>p:first-child{margin-top:0}.markdown-body blockquote>p:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{margin:4px 0 6px;padding-left:18px}.markdown-body li{margin:2px 0}.markdown-body li>p{margin:0}.markdown-body li[data-item-type=task],.markdown-body li.task-list-item{list-style-type:none}.markdown-body li.task-list-item:has(input[type=checkbox]:checked){color:var(--text-muted);text-decoration:line-through}.markdown-body input[type=checkbox]{vertical-align:middle;accent-color:var(--accent-primary);pointer-events:none;margin:0 5px 0 0}.composer-markdown-editor .composer-task-list-item{grid-template-columns:16px minmax(0,1fr);align-items:start;column-gap:6px;margin:2px 0;list-style:none;display:grid}.composer-markdown-editor .composer-task-checkbox{cursor:pointer;pointer-events:auto;width:16px;height:16px;accent-color:var(--accent-primary);border-radius:var(--radius-xs);flex-shrink:0;margin:2px 0 0;padding:0}.composer-markdown-editor .composer-task-checkbox:disabled{cursor:not-allowed;opacity:.5}.composer-markdown-editor .composer-task-checkbox:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.composer-markdown-editor .composer-task-content{min-width:0;font-size:13px;line-height:20px}.composer-markdown-editor .composer-task-content>:first-child{margin-top:0}.composer-markdown-editor .composer-task-content>:last-child{margin-bottom:0}.composer-markdown-editor .composer-task-list-item[data-checked=true] .composer-task-content{color:var(--text-muted);text-decoration:line-through}.composer-markdown-editor .composer-task-list-item[data-checked=true] .composer-task-content p,.composer-markdown-editor .composer-task-list-item[data-checked=true] .composer-task-content span,.composer-markdown-editor .composer-task-list-item[data-checked=true] .composer-task-content strong,.composer-markdown-editor .composer-task-list-item[data-checked=true] .composer-task-content em,.composer-markdown-editor .composer-task-list-item[data-checked=true] .composer-task-content code{color:var(--text-muted)}.markdown-body table{border-collapse:collapse;scrollbar-width:thin;max-width:100%;margin:6px 0;font-size:11.5px;line-height:1.4;display:block;overflow-x:auto}.markdown-body table p{margin:0}.markdown-body th,.markdown-body td{border:1px solid var(--border-hairline);text-align:left;padding:4px 8px}.markdown-body th{background:var(--bg-surface-subtle);color:var(--text-secondary);font-weight:600}.markdown-body th[data-markdown-align=center],.markdown-body td[data-markdown-align=center]{text-align:center}.markdown-body th[data-markdown-align=right],.markdown-body td[data-markdown-align=right]{text-align:right}.markdown-body code{border:1px solid var(--border-hairline);border-radius:var(--radius-xs);background:var(--bg-surface-subtle);font-family:var(--font-mono);overflow-wrap:anywhere;padding:1.5px 4.5px;font-size:11.5px}.markdown-body .code-block{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-surface-subtle);box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:8px 0;position:relative;overflow:hidden}.markdown-body .code-block-header{border-bottom:1px solid var(--border-hairline);background:var(--bg-surface-subtle);-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:3px 6px 3px 10px;display:flex}.markdown-body .code-block-language{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-sans);color:var(--text-secondary);letter-spacing:0;flex:auto;font-size:11px;font-weight:500;line-height:1.3;overflow:hidden}.composer-markdown-editor input.code-block-language{appearance:none;border-radius:var(--radius-xs);text-overflow:ellipsis;background:0 0;border:1px solid #0000;outline:0;width:min(112px,100% - 30px);height:20px;padding:0 4px}.composer-markdown-editor input.code-block-language:hover:not(:disabled){border-color:var(--border-hairline);background:var(--bg-surface-hover);color:var(--text-primary)}.composer-markdown-editor input.code-block-language:focus-visible{border-color:var(--border-focus);outline-offset:1px;color:var(--text-primary);outline:2px solid #2563eb66}.composer-markdown-editor input.code-block-language:disabled{cursor:not-allowed;opacity:.55}.markdown-body .code-block-copy{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;opacity:1;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,opacity .15s,border-color .15s;display:inline-flex}.markdown-body .code-block-copy svg{width:13px;height:13px;display:block}.markdown-body .code-block-copy:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.markdown-body .code-block-copy:focus-visible{border-color:var(--border-focus);outline-offset:1px;outline:2px solid #2563eb66;opacity:1!important}.markdown-body .code-block-copy.is-copied{color:var(--color-success-text);background:var(--color-success-bg);opacity:1!important}.markdown-body .code-block-copy.is-error{color:var(--color-danger-text);background:var(--color-danger-bg);opacity:1!important}@media (hover:hover){.markdown-body .code-block .code-block-copy{opacity:0;pointer-events:none}.markdown-body .code-block:hover .code-block-copy,.markdown-body .code-block:focus-within .code-block-copy,.markdown-body .code-block .code-block-copy:focus-visible,.markdown-body .code-block .code-block-copy.is-copied,.markdown-body .code-block .code-block-copy.is-error{opacity:1;pointer-events:auto}}.markdown-body .code-block pre{box-sizing:border-box;background:0 0;border:0;border-radius:0;max-width:100%;margin:0;padding:8px 10px;overflow-x:auto}.markdown-body .code-block pre code{font-family:var(--font-mono);white-space:pre;overflow-wrap:normal;word-break:normal;tab-size:2;background:0 0;border:0;padding:0;font-size:11.5px;line-height:1.45;display:block}.markdown-body pre:not(.code-block pre){border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-surface-subtle);max-width:100%;margin:6px 0;padding:8px 10px;overflow-x:auto}.markdown-body pre:not(.code-block pre) code{white-space:pre;background:0 0;border:0;padding:0;font-size:11.5px;line-height:1.45}.markdown-body hr{border:0;border-top:1px solid var(--border-hairline);margin:8px 0}.message .assistant-activity{color:var(--text-secondary);align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:500;display:inline-flex}.message-sources{gap:4px;min-width:0;margin-top:6px;display:grid}.message-sources-label{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:600}.message-sources ul{gap:3px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.message-sources li{min-width:0}.message-sources a{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);background:var(--bg-surface);grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:6px;padding:4px 6px;font-size:11.5px;line-height:1.35;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:grid}.message-sources a:hover{background:var(--bg-surface-subtle);border-color:var(--border-hairline-strong);color:var(--accent-primary)}.message-sources a:hover small{color:var(--text-secondary)}.message-sources a:hover svg{color:var(--accent-primary)}.message-sources a:focus-visible{border-color:var(--border-focus);outline-offset:1px;outline:2px solid #2563eb66}.message-sources a span,.message-sources a small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.message-sources a span{font-weight:500}.message-sources a small{max-width:96px;color:var(--text-muted);font-size:10.5px}.message-sources a svg{width:13px;height:13px;color:var(--text-muted);transition:color .15s}.assistant-activity-dots{align-items:center;gap:3.5px;height:12px;display:inline-flex}.assistant-activity-dots>span{background:var(--accent-primary);border-radius:50%;width:3.5px;height:3.5px;animation:1.2s ease-in-out infinite assistant-activity-dot}.assistant-activity-dots>span:nth-child(2){animation-delay:.16s}.assistant-activity-dots>span:nth-child(3){animation-delay:.32s}@keyframes assistant-activity-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.message-attachments{gap:6px;min-width:0;margin:4px 0 0;padding:0;list-style:none;display:grid}.message-attachment{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-surface);min-width:0;padding:7px 10px}.message-attachment-label{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:600;display:block}.message-attachment-text{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.45}.message-attachment-location,.attachment-location{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.35;display:block;overflow:hidden}.message-attachment-location{margin-top:4px}.message-error{color:var(--color-danger-text);overflow-wrap:anywhere;margin-top:2px;font-size:11.5px;line-height:1.4}.composer-form{overscroll-behavior:contain;border-top:1px solid var(--border-hairline);background:var(--bg-glass-surface);min-width:0;max-height:min(48dvh,360px);-webkit-backdrop-filter:var(--glass-filter);grid-row:4;gap:8px;padding:10px 12px 12px;display:grid;overflow:hidden auto}.composer-model-bar{flex:0 auto;align-items:center;gap:5px;min-width:0;display:flex}.model-banner-button{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);min-width:0;height:32px;color:var(--text-secondary);background:var(--bg-surface-subtle);justify-content:space-between;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.model-banner-button:hover:not(:disabled){border-color:var(--border-hairline-strong);color:var(--text-primary);background:#e2e8f0}.model-banner-button--model{flex:0 auto;max-width:130px}.model-banner-button--model>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-banner-button--effort{flex:0 auto;max-width:76px}.model-banner-button--effort>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-banner-chevron{width:13px;height:13px;color:var(--text-muted);flex:0 0 13px}.model-error{min-width:0}.picker-backdrop{z-index:30;background:var(--bg-backdrop);-webkit-backdrop-filter:blur(8px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.picker-dialog{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--bg-glass-modal);width:min(100%,360px);max-height:min(76dvh,520px);-webkit-backdrop-filter:var(--glass-filter);box-shadow:var(--shadow-dialog);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.picker-heading{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.picker-heading h2{color:var(--text-primary);margin:0;font-size:13.5px;font-weight:600}.picker-options{overscroll-behavior:contain;gap:3px;min-height:0;padding:6px;display:grid;overflow-y:auto}.picker-option{border-radius:var(--radius-sm);width:100%;min-width:0;min-height:38px;color:var(--text-primary);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;transition:background-color .15s,color .15s;display:flex}.picker-option:hover,.picker-option:focus-visible{background:var(--bg-surface-subtle);outline:none}.picker-option.is-selected{color:var(--accent-indigo-text);background:var(--bg-surface-active);font-weight:600}.picker-option>span:first-child{overflow-wrap:anywhere;min-width:0}.picker-option-state{width:22px;height:22px;color:var(--accent-primary);background:#2563eb14;border-radius:50%;flex:0 0 22px;place-items:center;display:inline-grid}.picker-option-state svg{width:13px;height:13px}.composer-actions{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.composer-actions:empty{display:none}.composer-mode-toggles{float:right;clear:none;border:1px solid var(--border-hairline);border-radius:var(--radius-xs);background:var(--bg-surface-subtle);-webkit-user-select:none;user-select:none;box-sizing:border-box;vertical-align:top;z-index:10;pointer-events:auto;white-space:nowrap;flex-direction:row;flex-shrink:0;align-items:center;gap:1px;height:20px;max-height:20px;margin:0 0 0 8px;padding:1px;display:inline-flex;position:relative}.composer-mode-button{width:16px;min-width:16px;height:16px;min-height:16px;color:var(--text-muted);cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:2px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-grid}.composer-mode-button.is-active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-subtle)}.composer-mode-button:hover:not(:disabled):not(.is-active){color:var(--text-secondary);background:#0f172a0a}.composer-mode-button:focus-visible{border-color:var(--border-focus);outline-offset:1px;z-index:1;outline:2px solid #2563eb66}.composer-mode-button svg{width:11px;height:11px;display:block}.composer-surface{border:1px solid var(--border-hairline-strong);border-radius:var(--radius-md);width:100%;min-width:0;max-width:100%;min-height:64px;max-height:160px;color:var(--text-primary);background:var(--bg-surface);font-family:var(--font-sans);box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;outline:none;padding:8px 10px;font-size:13px;line-height:20px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden auto}.composer-editor{width:100%;min-width:0;min-height:46px;color:inherit;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;background:0 0;outline:none;display:block;position:relative}.composer-editor.is-empty:before{content:attr(data-placeholder);max-width:calc(100% - 48px);color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:0;left:0;overflow:hidden}.composer-surface:focus-within{border-color:var(--border-focus);outline-offset:1px;outline:2px solid #2563eb66}.composer-surface.is-disabled{background:var(--bg-surface-subtle);color:var(--text-muted);cursor:not-allowed;-webkit-user-select:none;user-select:none}.composer-surface.is-disabled .composer-editor,.composer-surface.is-disabled .composer-markdown-editor .editor{cursor:not-allowed}.composer-surface.is-disabled .composer-mode-button{cursor:not-allowed;opacity:.45;pointer-events:none}.composer-surface.is-disabled .composer-task-checkbox{cursor:not-allowed;opacity:.5}.composer-markdown-mount,.composer-markdown-editor,.composer-markdown-editor .milkdown,.composer-markdown-editor .editor{min-width:0;min-height:46px}.composer-markdown-editor{width:100%;color:inherit;background:0 0}.composer-markdown-editor--parked{opacity:0;pointer-events:none;width:280px;max-height:160px;position:fixed;top:0;left:-10000px}.composer-markdown-editor .milkdown,.composer-markdown-editor .editor{background:0 0;outline:none;width:100%}.composer-markdown-editor .editor{box-sizing:border-box;white-space:normal;word-break:break-word;overflow-wrap:anywhere;position:relative}.composer-markdown-editor .editor>:first-child{margin-top:0}.composer-markdown-editor .editor>:last-child{margin-bottom:0}.composer-markdown-editor .editor>p:first-child:last-child:empty:before{content:"문서에 대해 물어보세요";max-width:calc(100% - 48px);color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:0;left:0;overflow:hidden}.composer-markdown-editor .editor>p:first-child:last-child:has(>br:only-child):before{content:"문서에 대해 물어보세요";max-width:calc(100% - 48px);color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:0;left:0;overflow:hidden}.composer-markdown-editor .editor>p:first-child:last-child:has(>br.ProseMirror-trailingBreak:only-child):before{content:"문서에 대해 물어보세요";max-width:calc(100% - 48px);color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;position:absolute;top:0;left:0;overflow:hidden}.composer-markdown-editor input[type=checkbox]{pointer-events:auto}.composer-markdown-editor .composer-image-placeholder{border:1px solid var(--border-hairline);border-radius:var(--radius-xs);background:var(--bg-surface-subtle);max-width:100%;min-height:24px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;cursor:default;align-items:center;padding:1px 6px;font-size:11.5px;line-height:20px;display:inline-flex;overflow:hidden}.composer-markdown-editor .composer-image-placeholder[data-markdown-kind=blocked-image]{border-color:var(--color-danger-border);color:var(--color-danger-text)}.composer-markdown-editor .composer-link{color:var(--accent-primary);text-underline-offset:2px;cursor:text;text-decoration:underline;text-decoration-thickness:1px}.composer-markdown-editor .composer-link[data-markdown-kind=blocked-link]{color:var(--color-danger-text);text-decoration-style:dotted}.selection-attach-button{border:1px solid var(--border-hairline-strong);border-radius:var(--radius-md);background:var(--bg-surface-subtle);max-width:100%;height:32px;color:var(--text-secondary);text-align:left;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:11.5px;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.selection-attach-button:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary);background:#e2e8f0}.selection-attach-button svg{flex:0 0 14px;width:14px;height:14px}.selection-attach-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.composer-command-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.active-turn-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:0;margin-left:auto;display:flex}.active-turn-split-button{align-items:stretch;min-width:0;display:inline-flex;position:relative}.active-turn-split-button .split-button-main{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.active-turn-split-button .split-button-chevron{border-top-left-radius:0;border-bottom-left-radius:0;flex:0 0 24px;justify-content:center;align-items:center;width:24px;min-width:24px;height:32px;padding:0;display:inline-flex}.active-turn-split-button .split-button-chevron svg{flex:0 0 13px;width:13px;height:13px}.active-turn-split-button button:focus-visible{z-index:1}.active-turn-action-menu{border:1px solid var(--border-hairline);border-radius:var(--radius-md);background:var(--bg-glass-popup);width:max-content;min-width:160px;-webkit-backdrop-filter:var(--glass-filter);box-shadow:var(--shadow-menu);z-index:25;outline:none;padding:4px;position:absolute;bottom:calc(100% + 4px);right:0}.active-turn-action-option{border-radius:var(--radius-sm);width:100%;min-height:32px;color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;font-weight:500;line-height:1.35;transition:background-color .15s;display:flex}.active-turn-action-option svg{width:14px;height:14px;color:var(--text-secondary);flex:0 0 14px}.active-turn-action-option:hover:not(:disabled),.active-turn-action-option:focus-visible{background:var(--bg-surface-subtle);outline:none}.active-turn-action-option.is-selected{color:var(--accent-primary);font-weight:600}.active-turn-action-option.is-selected svg{color:var(--accent-primary)}.active-turn-command{white-space:nowrap;flex:0 auto;justify-content:center;align-items:center;gap:5px;min-width:0;height:32px;padding:0 8px;display:inline-flex}.active-turn-command svg{flex:0 0 14px;width:14px;height:14px}.interrupt-button{border-color:var(--color-danger-border);color:var(--color-danger-text);background:var(--color-danger-bg);flex:0 0 32px}.interrupt-button:hover:not(:disabled){border-color:var(--color-danger-border);background:var(--color-danger-hover-bg)}.send-button{border-radius:var(--radius-sm);text-align:center;border:0;flex:none;min-width:52px;min-height:32px;margin:0 0 0 auto;padding:0 12px;font-size:11.5px;font-weight:600;line-height:32px;transition:background-color .15s,opacity .15s}.send-button--primary{border:1px solid var(--accent-dark);color:var(--text-inverse);background:var(--accent-dark)}.send-button--primary:hover:not(:disabled){background:var(--accent-dark-hover);border-color:var(--accent-dark-hover)}.session-input-queue{border-bottom:1px solid var(--border-hairline);gap:5px;min-width:0;padding:2px 0 7px;display:grid}.session-input-queue-heading{min-height:24px;color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.session-input-queue-count{min-width:18px;height:18px;color:var(--accent-indigo-text);background:var(--accent-indigo-subtle);border-radius:9px;place-items:center;padding:0 5px;font-size:10px;line-height:1;display:inline-grid}.session-input-queue-heading .icon-button{width:26px;height:26px;margin-left:auto}.session-input-queue-list{overscroll-behavior:contain;gap:2px;max-height:96px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.session-input-queue-item{border-radius:var(--radius-xs);min-height:30px;color:var(--text-secondary);background:var(--bg-surface-subtle);grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:4px;padding:2px 2px 2px 8px;font-size:11.5px;display:grid}.session-input-queue-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-input-queue-item .icon-button{width:26px;height:26px}.attachments{gap:6px;margin:0;display:grid}.attachment{border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--bg-surface);grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px;min-height:32px;padding:4px 6px 4px 10px;display:grid}.attachment-content{gap:1px;min-width:0;display:grid}.attachment-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-size:12px;overflow:hidden}.attachment .icon-button{width:28px;height:28px;font-size:14px}.attachment .icon-button svg{width:14px;height:14px}.conversation-list-shell{background:var(--bg-app);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.conversation-list-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:6px 0;overflow:hidden auto}.conversation-list{gap:2px;display:grid}.conversation-list-entry{min-width:0;padding:0 6px;position:relative}.conversation-list-item{border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px 42px 9px 10px;transition:background-color .15s;display:grid}.conversation-list-more{z-index:2;border-color:var(--border-hairline);background:var(--bg-glass-popup);width:28px;height:28px;box-shadow:var(--shadow-subtle);opacity:0;pointer-events:none;visibility:hidden;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.conversation-list-entry:hover .conversation-list-more,.conversation-list-entry:focus-within .conversation-list-more{opacity:1;pointer-events:auto;visibility:visible}.conversation-list-more:hover:not(:disabled),.conversation-list-more:focus-visible,.conversation-list-item:hover:not(:disabled),.conversation-list-entry.is-tooltip-open .conversation-list-item:not(:disabled){background:var(--bg-surface-subtle)}.conversation-list-item.is-current{background:var(--bg-surface-active);color:var(--accent-indigo-text)}.conversation-list-item strong,.conversation-list-item small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.conversation-list-item strong{color:var(--text-primary);font-size:12.5px;font-weight:600;line-height:1.4}.conversation-list-item.is-current strong{color:var(--accent-indigo-text)}.conversation-list-item>span{color:var(--text-muted);white-space:nowrap;font-size:11px;line-height:1.4}.conversation-list-item small{color:var(--text-secondary);grid-column:1/-1;font-size:11.5px;line-height:1.4}.conversation-files-flyouts{z-index:20;pointer-events:none;position:absolute;bottom:12px;left:12px;right:12px}.conversation-files-tooltip{overscroll-behavior:contain;border:1px solid var(--border-hairline);border-radius:var(--radius-md);width:100%;max-height:min(40dvh,240px);color:var(--text-primary);background:var(--bg-glass-popup);-webkit-backdrop-filter:var(--glass-filter);box-shadow:var(--shadow-menu);overflow-wrap:anywhere;pointer-events:auto;margin:0;padding:9px 12px;font-size:11.5px;line-height:1.4;position:relative;overflow-y:auto}.conversation-files-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.conversation-files-tooltip ul{gap:3px;margin:0;padding-left:16px;display:grid}.conversation-files-empty{color:var(--text-muted)}.conversation-action-backdrop{z-index:40;background:var(--bg-backdrop);-webkit-backdrop-filter:blur(8px);place-items:center;padding:14px;display:grid;position:fixed;inset:0}.conversation-action-dialog{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--bg-glass-modal);width:min(100%,320px);max-height:min(76dvh,480px);-webkit-backdrop-filter:var(--glass-filter);box-shadow:var(--shadow-dialog);display:grid;overflow:hidden}.conversation-action-heading{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:10px 12px 9px 14px;display:flex}.conversation-action-heading>div{min-width:0}.conversation-action-heading h2{font-size:13.5px}.conversation-action-heading p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:11px;line-height:1.35;overflow:hidden}.conversation-action-options{overscroll-behavior:contain;gap:3px;min-height:0;padding:6px;display:grid;overflow-y:auto}.conversation-action-option{border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.conversation-action-option svg{width:15px;height:15px;color:var(--text-secondary);flex:0 0 15px}.conversation-action-option:hover:not(:disabled),.conversation-action-option:focus-visible{background:var(--bg-surface-subtle);outline:none}.conversation-action-divider{background:var(--border-hairline);height:1px;margin:4px}.conversation-action-option--danger,.conversation-action-option--danger svg{color:var(--color-danger-text)}.conversation-action-option--danger:hover:not(:disabled),.conversation-action-option--danger:focus-visible{background:var(--color-danger-hover-bg)}.conversation-action-form,.conversation-delete-confirmation{gap:10px;min-width:0;padding:14px;display:grid}.conversation-action-form label{color:var(--text-secondary);font-size:11.5px;font-weight:600}.conversation-action-form input{border:1px solid var(--border-hairline-strong);border-radius:var(--radius-sm);width:100%;min-width:0;height:34px;color:var(--text-primary);background:var(--bg-surface);padding:6px 9px}.conversation-delete-confirmation>p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.conversation-delete-confirmation strong{color:var(--text-primary)}.conversation-action-error{margin:0}.conversation-action-footer{justify-content:flex-end;gap:6px;display:flex}.conversation-action-submit{width:auto;min-height:32px;padding:6px 12px;font-size:11.5px}.conversation-action-delete{min-height:32px}@media (hover:none){.conversation-list-more{opacity:1;pointer-events:auto;visibility:visible}}@supports not ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.chat-toolbar,.conversation-list-heading,.composer-form,.connection-settings-menu,.conversation-files-tooltip,.conversation-action-dialog,.active-turn-action-menu,.picker-dialog{background:#fff}.conversation-action-backdrop,.picker-backdrop{background:#0f172a99}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.assistant-activity-dots>span{opacity:.8;animation:none}}@media (width<=320px){.device-link-actions{grid-template-columns:1fr}.composer-actions{align-items:stretch}.model-banner-button--model{max-width:100px}.model-banner-button--effort{max-width:62px}.message-sources a small{max-width:72px}.active-turn-action-label{display:none}}
