.character-avatar{display:flex;align-items:center;gap:var(--spacing-2)}.character-avatar--clickable{cursor:pointer}.character-avatar--clickable:hover .character-avatar__image-container{border-color:var(--color-primary);transform:scale(1.05)}.character-avatar__image-container{display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--color-border);overflow:hidden;background-color:var(--color-surface-elevated);transition:all .2s ease;flex-shrink:0}.character-avatar--selected .character-avatar__image-container{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.character-avatar__image{width:100%;height:100%;object-fit:cover}.character-avatar__initials{font-family:var(--font-heading);font-weight:600;color:var(--color-text-secondary);user-select:none}.character-avatar__info{display:flex;flex-direction:column;gap:2px;min-width:0}.character-avatar__name{font-family:var(--font-body);font-size:var(--font-size-small);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-avatar__role{font-family:var(--font-body);font-size:var(--font-size-tiny);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-list{display:flex;flex-direction:column;height:100%;background-color:var(--surface);border-right:none;box-shadow:1px 0 0 var(--border-light)}.conversation-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--border-light)}.conversation-list-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-default);letter-spacing:-.01em}.new-conversation-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000;box-shadow:0 2px 8px #e3b34d40;transition:transform .15s ease,box-shadow .15s ease}.new-conversation-btn:hover{transform:scale(1.08);box-shadow:0 4px 12px #e3b34d59}.new-conversation-btn:active{transform:scale(.95)}.conversation-list-items{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3)}.conversation-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);text-align:left;transition:background-color .15s ease,transform .1s ease;margin-bottom:2px}.conversation-item-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 2px var(--background)}.conversation-item:hover{background-color:var(--background)}.conversation-item.selected{background-color:var(--background);box-shadow:inset 0 0 0 1px var(--border-medium)}.conversation-item-content{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1;min-width:0}.conversation-title{font-size:var(--font-size-small);font-weight:500;color:var(--text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.conversation-preview{font-size:var(--font-size-tiny);color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.conversation-list-loading,.conversation-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);gap:var(--space-3);color:var(--text-light)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-medium);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .8s linear infinite}.start-chat-btn{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000;border-radius:var(--radius-lg);font-size:var(--font-size-small);font-weight:500;box-shadow:0 2px 8px #e3b34d33;transition:transform .15s ease,box-shadow .15s ease}.start-chat-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #e3b34d4d}.markdown-message{font-size:var(--font-size-body);line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.markdown-message p{margin:0 0 .75em}.markdown-message p:last-child{margin-bottom:0}.markdown-message h1,.markdown-message h2,.markdown-message h3,.markdown-message h4,.markdown-message h5,.markdown-message h6{margin:1em 0 .5em;font-weight:600;line-height:1.3}.markdown-message h1:first-child,.markdown-message h2:first-child,.markdown-message h3:first-child{margin-top:0}.markdown-message h1{font-size:1.4em}.markdown-message h2{font-size:1.25em}.markdown-message h3{font-size:1.1em}.markdown-message ul,.markdown-message ol{margin:.5em 0;padding-left:1.5em}.markdown-message li{margin:.25em 0}.markdown-message li>ul,.markdown-message li>ol{margin:.25em 0}.markdown-message .inline-code{background:#00000014;padding:.15em .4em;border-radius:4px;font-family:var(--font-mono);font-size:.9em}.markdown-user .inline-code{background:#fff3}.markdown-message .code-pre{background:#0000000f;border-radius:var(--radius-sm);padding:var(--space-3);margin:.75em 0;overflow-x:auto}.markdown-user .code-pre{background:#00000026}.markdown-message .code-block{font-family:var(--font-mono);font-size:.875em;line-height:1.5;display:block;white-space:pre}.markdown-message blockquote{margin:.75em 0;padding-left:var(--space-3);border-left:3px solid var(--border-medium);color:var(--text-light)}.markdown-user blockquote{border-left-color:#fff6;color:#ffffffd9}.markdown-message a{color:var(--brand-blue);text-decoration:none}.markdown-message a:hover{text-decoration:underline}.markdown-user a{color:#fffffff2;text-decoration:underline}.markdown-message table{border-collapse:collapse;margin:.75em 0;width:100%;font-size:.9em}.markdown-message th,.markdown-message td{border:1px solid var(--border-medium);padding:.5em .75em;text-align:left}.markdown-message th{background:#0000000a;font-weight:600}.markdown-user th,.markdown-user td{border-color:#ffffff40}.markdown-user th{background:#0000001a}.markdown-message hr{border:none;border-top:1px solid var(--border-medium);margin:1em 0}.markdown-user hr{border-top-color:#ffffff4d}.markdown-message strong{font-weight:600}.markdown-message em{font-style:italic}.markdown-message del{text-decoration:line-through;opacity:.7}.markdown-message input[type=checkbox]{margin-right:.5em}.message-reactions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.message-reactions-left{justify-content:flex-start}.message-reactions-right{justify-content:flex-end}.reaction-bubble{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;background:var(--surface);border-radius:var(--radius-full);font-size:14px;line-height:1;animation:reactionPop .3s ease;cursor:default}.reaction-bubble:hover{transform:scale(1.1)}@keyframes reactionPop{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.image-message{display:flex;flex-direction:column;max-width:250px}.image-message-user{align-self:flex-end;align-items:flex-end}.image-message-assistant{align-self:flex-start;align-items:flex-start}.image-message-img{max-width:100%;min-height:100px;max-height:300px;object-fit:cover;border-radius:var(--radius-lg);cursor:pointer;transition:transform .15s ease}.image-message-img:hover{transform:scale(1.02)}.image-message-user .image-message-img{border-radius:var(--radius-xl) var(--radius-xl) 6px var(--radius-xl)}.image-message-assistant .image-message-img{border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 6px}.image-message-error{padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-md);color:var(--text-light);font-size:var(--font-size-small)}.image-fullscreen-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.image-fullscreen-close{position:absolute;top:var(--space-4);right:var(--space-4);width:44px;height:44px;border-radius:50%;background:#ffffff1a;color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease}.image-fullscreen-close:hover{background:#fff3}.image-fullscreen-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-md)}.message-list{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-4);min-height:0;background:var(--background)}.message-list-content{display:flex;flex-direction:column;gap:var(--space-4);max-width:780px;margin:0 auto}.message-list-empty{flex:1;display:flex;align-items:center;justify-content:center}.empty-state{text-align:center;color:var(--text-light)}.empty-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.8}.empty-state h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:500;color:var(--text-default)}.empty-state p{margin:0;font-size:var(--font-size-small)}.message{display:flex;flex-direction:column;max-width:85%}.message-user{align-self:flex-end;align-items:flex-end}.message-assistant{align-self:flex-start;align-items:flex-start}.message-bubble{padding:var(--space-3) var(--space-4);word-wrap:break-word;overflow-wrap:break-word;max-width:580px}.user-bubble{background:linear-gradient(135deg,#5b86e5 0%,var(--user-bubble) 100%);color:var(--text-on-user-bubble);border-radius:var(--radius-xl) var(--radius-xl) 6px var(--radius-xl);box-shadow:0 2px 12px #4d79e333}.assistant-bubble{background-color:var(--response-bubble);color:var(--text-on-bubble);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 6px;box-shadow:0 1px 4px #0000000a}.message-bubble.failed{opacity:.6}.message-bubble.pending{opacity:.8}.message-text{margin:0;font-size:var(--font-size-body);line-height:1.65;white-space:pre-wrap}.message-error{font-size:var(--font-size-smaller);color:var(--alert);margin-top:var(--space-1)}.typing-indicator{display:flex;align-items:center;gap:6px;padding:var(--space-3) var(--space-4)}.typing-dot{width:8px;height:8px;background-color:var(--text-light);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.message-input-container{padding:var(--space-4) var(--space-4) var(--space-5);background:transparent;border-top:none;position:relative}.message-input-container:before{content:"";position:absolute;top:-24px;left:0;right:0;height:24px;background:linear-gradient(to bottom,transparent,var(--background));pointer-events:none}.message-input-wrapper{display:flex;align-items:flex-end;gap:var(--space-2);max-width:780px;margin:0 auto;position:relative;background:var(--background-card);border-radius:var(--radius-full);padding:6px;box-shadow:0 2px 16px #00000014,0 0 0 1px var(--border-light);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.message-input{flex:1;background:transparent;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);padding-right:8px;font-size:var(--font-size-body);line-height:1.5;color:var(--text-default);resize:none;min-height:40px;max-height:120px;overflow-y:auto}.message-input::placeholder{color:var(--text-light)}.message-input:disabled{opacity:.6;cursor:not-allowed}.send-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--disabled);color:var(--background);transition:all .2s ease;flex-shrink:0}.send-button.active{background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000;box-shadow:0 2px 8px #e3b34d4d}.send-button.active:hover{transform:scale(1.08);box-shadow:0 4px 12px #e3b34d66}.send-button.active:active{transform:scale(.95)}.send-button:disabled{cursor:not-allowed}.image-picker-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:transparent;color:var(--text-light);transition:all .2s ease;flex-shrink:0}.image-picker-button:hover{color:var(--text-default);background:var(--surface)}.image-picker-button:disabled{opacity:.5;cursor:not-allowed}.image-preview-container{position:relative;margin-right:var(--space-2)}.image-preview{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.remove-image-button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--text-default);color:var(--background);font-size:14px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease}.remove-image-button:hover{transform:scale(1.1)}.image-processing-overlay{position:absolute;inset:0;background:#00000080;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.message-input-container.dragging{position:relative}.message-input-container.dragging .message-input-wrapper{border-color:var(--primary);box-shadow:0 2px 16px #00000014,0 0 0 2px var(--primary)}.drag-overlay{position:absolute;inset:0;background:#e3b34d1a;border:2px dashed var(--primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10}.drag-overlay span{background:var(--background-card);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;color:var(--primary)}.message-input.with-image{min-height:48px}.chat-view{display:flex;flex-direction:column;flex:1;min-height:0;background-color:var(--background);position:relative}.advisor-pill{position:absolute;top:var(--space-4);left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);padding-left:var(--space-2);background:var(--background-card);border-radius:var(--radius-full);box-shadow:0 2px 12px #0000001a;border:1px solid var(--border-light)}.advisor-pill-name{font-size:var(--font-size-small);font-weight:500;color:var(--text-default);white-space:nowrap}.chat-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-light)}.chat-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border-medium);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .8s linear infinite}.character-selector{display:flex;flex-direction:column;gap:var(--spacing-2)}.character-selector__loading,.character-selector__empty{padding:var(--spacing-4);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-small)}.character-selector--compact{flex-direction:row;gap:var(--spacing-2)}.character-selector__list{display:flex;flex-direction:column;gap:var(--spacing-2)}.character-selector__item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-surface);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.character-selector__item:hover{background:var(--color-surface-elevated);border-color:var(--color-primary-light)}.character-selector__item--selected{background:var(--color-primary-light);border-color:var(--color-primary)}.character-selector__item-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.character-selector__item-name{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-selector__item-role{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-selector-inline{display:flex;align-items:center;cursor:pointer}.character-selector-inline:hover{opacity:.8}.character-selector--circular{display:flex;justify-content:center;align-items:center;padding:var(--space-4) 0}.character-selector__ring-container{position:relative;width:320px;height:320px;display:flex;justify-content:center;align-items:center}.character-selector__ring-item{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .25s ease;background:none;border:none;padding:0}.character-selector__ring-item:hover{z-index:10}.character-selector__ring-item--selected{z-index:20}.character-selector__ring-label{margin-top:var(--space-1);display:flex;flex-direction:column;align-items:center;text-align:center}.character-selector__ring-name{font-size:var(--font-size-smaller);font-weight:500;color:var(--text-default);white-space:nowrap}.character-selector__ring-role{font-size:10px;color:var(--text-light);white-space:nowrap}.account-section h3{margin:0 0 var(--space-5);font-size:var(--font-size-xl);font-weight:600;color:var(--text-default)}.account-section h4{margin:0 0 var(--space-3);font-size:var(--font-size-body);font-weight:600;color:var(--text-default)}.profile-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.profile-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-purple) 0%,var(--brand-blue) 100%);color:#fff;font-weight:600;font-size:24px}.profile-info h4{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:600;color:var(--text-default)}.profile-email{margin:0 0 var(--space-1);font-size:var(--font-size-small);color:var(--text-default)}.profile-joined{margin:0;font-size:var(--font-size-smaller);color:var(--text-light)}.usage-section{margin-bottom:var(--space-6)}.usage-card{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4);background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.usage-card.loading{color:var(--text-light);font-size:var(--font-size-small)}.usage-card.loading .loading-spinner.small{width:16px;height:16px;border-width:2px}.usage-card.error{flex-direction:column;gap:var(--space-2)}.usage-card .error-message{margin:0;color:var(--brand-red);font-size:var(--font-size-small)}.usage-card .retry-btn{padding:var(--space-1) var(--space-3);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--font-size-smaller);color:var(--text-default);cursor:pointer;transition:all .15s ease}.usage-card .retry-btn:hover{background:var(--background);border-color:var(--border-medium)}.credits-card{padding:var(--space-4);background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.credits-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.credits-label{font-size:var(--font-size-body);font-weight:500;color:var(--text-default)}.credits-value{font-size:var(--font-size-xl);font-weight:700;color:var(--primary)}.credits-breakdown{display:flex;flex-direction:column;gap:var(--space-2)}.credits-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.credits-row.extra{padding-top:var(--space-2);margin-top:var(--space-1);border-top:1px dashed var(--border-light)}.credits-type{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-small);color:var(--text-light)}.credits-badge{padding:2px var(--space-2);background:#4dc56526;color:var(--brand-green);font-size:var(--font-size-tiny);font-weight:500;border-radius:var(--radius-sm)}.credits-amount{font-size:var(--font-size-body);font-weight:600;color:var(--text-default)}.usage-note{margin:0;font-size:var(--font-size-smaller);color:var(--text-light);font-style:italic}.storage-section{margin-bottom:var(--space-4)}.storage-card{padding:var(--space-4);background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.storage-status{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.storage-icon{display:flex;align-items:center;justify-content:center;color:var(--brand-blue)}.storage-label{font-size:var(--font-size-body);font-weight:600;color:var(--text-default)}.storage-description{margin:0;font-size:var(--font-size-small);color:var(--text-light);line-height:1.5}.development-section h3{margin:0 0 var(--space-2);font-size:var(--font-size-xl);font-weight:600;color:var(--text-default)}.development-section h4{margin:0 0 var(--space-3);font-size:var(--font-size-body);font-weight:600;color:var(--text-default)}.section-description{margin:0 0 var(--space-5);font-size:var(--font-size-small);color:var(--text-light);line-height:1.5}.dev-card{padding:var(--space-5);background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.dev-card-danger{border-color:#c54d4d4d;background:#c54d4d08}.card-description{margin:0 0 var(--space-4);font-size:var(--font-size-small);color:var(--text-light);line-height:1.5}.card-description a{color:var(--brand-blue);text-decoration:none}.card-description a:hover{text-decoration:underline}.settings-status{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.status-indicator{width:10px;height:10px;border-radius:50%;background-color:var(--disabled)}.status-indicator.provisioned{background-color:var(--brand-green)}.settings-status-detail{margin:0;font-size:var(--font-size-small);color:var(--text-light)}.settings-field{margin-bottom:var(--space-4)}.settings-field label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-small);font-weight:500;color:var(--text-default)}.settings-field input{width:100%;padding:var(--space-3);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-small);color:var(--text-default);transition:border-color .15s ease,box-shadow .15s ease}.settings-field input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px #4d79e326}.settings-field input::placeholder{color:var(--text-light)}.settings-message{padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-small)}.settings-message.success{background:#4dc5651a;color:var(--brand-green);border:1px solid rgba(77,197,101,.3)}.settings-message.error{background:#c54d4d1a;color:var(--alert);border:1px solid rgba(197,77,77,.3)}.settings-actions{display:flex;gap:var(--space-3)}.settings-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-small);font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.settings-btn.primary{background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000}.settings-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #e3b34d4d}.settings-btn.secondary{background:transparent;color:var(--text-default);border:1px solid var(--border-medium)}.settings-btn.secondary:hover:not(:disabled){background:var(--surface)}.settings-btn.danger{background:var(--alert);color:#fff}.settings-btn.danger:hover:not(:disabled){background:#b04444}.settings-btn.reload{width:100%;margin-top:var(--space-3);background:var(--brand-blue);color:#fff}.settings-btn:disabled{opacity:.6;cursor:not-allowed}.settings-info{font-size:var(--font-size-small);color:var(--text-light)}.settings-info code{background:#0000000d;padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:var(--font-size-smaller);margin:0 4px}.reset-confirm{padding:var(--space-4);background:#c54d4d0d;border:1px solid rgba(197,77,77,.2);border-radius:var(--radius-md)}.reset-confirm-text{margin:0 0 var(--space-4);font-size:var(--font-size-small);color:var(--alert);font-weight:500}.reset-confirm-actions{display:flex;gap:var(--space-3)}.settings-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.settings-modal{width:90%;max-width:800px;max-height:85vh;background:var(--background);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);flex-shrink:0}.settings-modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--text-default)}.settings-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);color:var(--text-light);transition:background-color .15s ease,color .15s ease}.settings-modal-close:hover{background:var(--surface);color:var(--text-default)}.settings-layout{display:flex;flex:1;min-height:0}.settings-nav{width:200px;flex-shrink:0;padding:var(--space-4);background:var(--surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;gap:var(--space-1)}.settings-nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-small);font-weight:500;color:var(--text-light);text-align:left;transition:background-color .15s ease,color .15s ease}.settings-nav-item:hover{background:var(--border-light);color:var(--text-default)}.settings-nav-item.active{background:var(--background);color:var(--text-default);box-shadow:0 1px 3px #00000014}.settings-nav-item svg{flex-shrink:0}.settings-content{flex:1;overflow-y:auto;padding:var(--space-6)}.settings-section{max-width:500px}@media(max-width:640px){.settings-modal{width:100%;height:100%;max-height:100%;border-radius:0}.settings-layout{flex-direction:column}.settings-nav{width:100%;flex-direction:row;overflow-x:auto;padding:var(--space-2);border-right:none;border-bottom:1px solid var(--border-light)}.settings-nav-item{flex-shrink:0}.settings-nav-item span{display:none}}.device-pairing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(145deg,var(--background) 0%,var(--surface) 100%)}.pairing-content{display:flex;flex-direction:column;align-items:center;max-width:420px;text-align:center;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pairing-content h2{font-size:1.75rem;font-weight:600;color:var(--text-default);margin:0 0 .75rem}.pairing-description{color:var(--text-light);font-size:.95rem;line-height:1.6;margin:0 0 1.5rem}.qr-container{background:var(--background-card);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);transition:transform .3s ease,box-shadow .3s ease}.qr-container:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.qr-container svg{display:block}.short-code-section{margin-bottom:1.5rem}.short-code-label{color:var(--text-light);font-size:.85rem;margin:0 0 .5rem}.short-code{font-family:var(--font-mono);font-size:2rem;font-weight:700;letter-spacing:.25em;color:var(--text-default);background:var(--background-card);padding:.75rem 1.5rem;border-radius:var(--radius-md);border:2px solid var(--primary);box-shadow:0 4px 12px #e3b34d26}.copy-link-section{margin-top:1rem;text-align:center}.copy-link-hint{color:var(--text-light);font-size:.8rem;margin-top:.5rem}.pairing-status{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.status-waiting,.status-claiming{display:flex;align-items:center;gap:.5rem;color:var(--text-light);font-size:.9rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.pairing-timer{color:var(--text-light);font-size:.85rem;margin-bottom:1.5rem;padding:var(--space-2) var(--space-3);background:var(--border-light);border-radius:var(--radius-sm)}.pairing-actions{display:flex;gap:.75rem;margin-top:1rem}.pairing-btn{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.pairing-btn.primary{background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000;box-shadow:0 4px 12px #e3b34d40}.pairing-btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #e3b34d59}.pairing-btn.secondary{background:var(--background-card);color:var(--text-default);border:1px solid var(--border-medium)}.pairing-btn.secondary:hover{background:var(--surface);border-color:var(--border-heavy)}.pairing-btn.text{background:transparent;color:var(--text-light);padding:.5rem 1rem}.pairing-btn.text:hover{color:var(--text-default)}.pairing-content.error{animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pairing-content.error .error-icon{font-size:3rem;margin-bottom:1rem}.error-message{color:var(--alert);font-size:.9rem;margin:0 0 1rem;padding:var(--space-3);background:#c54d4d1a;border-radius:var(--radius-sm)}.pairing-content.success .success-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--brand-green) 0%,#3ba553 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1rem;box-shadow:0 8px 24px #4dc5654d;animation:scaleIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.pairing-content.success p{color:var(--text-light);font-size:.95rem}.loading-spinner{border:3px solid var(--border-medium);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner.large{width:48px;height:48px;margin-bottom:1rem}.loading-spinner.small{width:16px;height:16px}.pairing-back-btn{position:absolute;top:calc(60px + var(--space-4));left:var(--space-4);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--background-card);color:var(--text-light);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-small);cursor:pointer;transition:all .2s ease}.pairing-back-btn:hover{background:var(--surface);color:var(--text-default);border-color:var(--border-medium)}.onboarding-choice{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:linear-gradient(135deg,var(--background) 0%,var(--surface) 100%)}.onboarding-choice-content{width:100%;max-width:640px;text-align:center}.onboarding-header{margin-bottom:var(--space-8)}.onboarding-logo{margin-bottom:0;animation:float 3s ease-in-out infinite}.onboarding-logo img{width:200px;height:auto}[data-theme=dark] .onboarding-logo img{filter:invert(1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.onboarding-header h1{margin:0 0 var(--space-2);font-size:var(--font-size-h1);font-weight:700;color:var(--text-default)}.onboarding-header p{margin:0;font-size:var(--font-size-lg);color:var(--text-light)}.onboarding-cards{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.onboarding-cards>.onboarding-card:not(.onboarding-card-compact){flex:1 1 calc(50% - var(--space-2));min-width:200px}.onboarding-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-6);background:var(--background-card);border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.onboarding-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary);transform:scaleX(0);transition:transform .25s ease}.onboarding-card:hover:not(:disabled){border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.onboarding-card:hover:not(:disabled):before{transform:scaleX(1)}.onboarding-card.selected{border-color:var(--primary);background:linear-gradient(to bottom,rgba(227,179,77,.08),var(--background-card))}.onboarding-card.selected:before{transform:scaleX(1)}.onboarding-card:disabled{cursor:not-allowed;opacity:.7}.onboarding-card.loading{opacity:1}.card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);border-radius:var(--radius-md);color:#000;margin-bottom:var(--space-4);transition:transform .25s ease}.onboarding-card:hover:not(:disabled) .card-icon{transform:scale(1.05)}.card-content h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:600;color:var(--text-default)}.card-content p{margin:0;font-size:var(--font-size-small);color:var(--text-light);line-height:1.5}.card-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border-radius:var(--radius-lg)}[data-theme=dark] .card-loading{background:#181a20e6}.card-loading .loading-spinner.small{width:24px;height:24px;border:3px solid var(--border-medium);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.onboarding-note{font-size:var(--font-size-small);color:var(--text-light);margin:0}.onboarding-card.onboarding-card-compact{flex:1 1 100%;flex-direction:row;padding:var(--space-3) var(--space-4);gap:var(--space-3);background:transparent;border-width:1px;border-color:var(--border-light)}.onboarding-card.onboarding-card-compact .card-icon{width:40px;height:40px;flex-shrink:0;margin-bottom:0}.onboarding-card.onboarding-card-compact .card-icon svg{width:20px;height:20px}.onboarding-card.onboarding-card-compact .card-icon.card-icon-subtle{background:var(--surface);color:var(--text-light)}.onboarding-card.onboarding-card-compact:hover:not(:disabled) .card-icon.card-icon-subtle{background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000}.onboarding-card.onboarding-card-compact .card-content{text-align:left}.onboarding-card.onboarding-card-compact .card-content h3{font-size:var(--font-size-small);margin-bottom:var(--space-1)}.onboarding-card.onboarding-card-compact .card-content p{font-size:var(--font-size-xs)}.onboarding-card.onboarding-card-compact:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.onboarding-card.onboarding-card-compact:before{height:2px}@media(max-width:600px){.onboarding-choice{padding:var(--space-4)}.onboarding-cards{flex-direction:column}.onboarding-cards>.onboarding-card:not(.onboarding-card-compact){flex:1 1 100%}.onboarding-card{padding:var(--space-5)}.onboarding-card.onboarding-card-compact{padding:var(--space-3) var(--space-4)}.onboarding-logo img{width:160px}.onboarding-header h1{font-size:var(--font-size-h2)}}.manual-db-form{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--space-6)}.manual-db-content{width:100%;max-width:480px;background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-8)}.manual-db-header{text-align:center;margin-bottom:var(--space-6)}.manual-db-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface) 0%,var(--background) 100%);border:1px solid var(--border-light);border-radius:var(--radius-md);margin:0 auto var(--space-4);color:var(--primary)}.manual-db-header h2{margin:0 0 var(--space-2);font-size:var(--font-size-h3);font-weight:600;color:var(--text-default)}.manual-db-description{margin:0;font-size:var(--font-size-small);color:var(--text-light);line-height:1.5}.manual-db-fields{display:flex;flex-direction:column;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field label{font-size:var(--font-size-small);font-weight:500;color:var(--text-default)}.form-field input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:inherit;color:var(--text-default);background:var(--background);border:1px solid var(--border-medium);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.form-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e3b34d26}.form-field input::placeholder{color:var(--text-lighter)}.field-hint{font-size:var(--font-size-xs);color:var(--text-lighter)}.form-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--brand-red);font-size:var(--font-size-small)}.form-error svg{flex-shrink:0}.form-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.manual-db-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);font-weight:500;font-family:inherit;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.manual-db-btn.primary{background:var(--primary);color:#000;border:none}.manual-db-btn.primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.manual-db-btn.secondary{background:transparent;color:var(--text-light);border:1px solid var(--border-medium)}.manual-db-btn.secondary:hover{background:var(--surface);color:var(--text-default);border-color:var(--border-default)}.manual-db-note{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-light);font-size:var(--font-size-small);color:var(--text-lighter)}.manual-db-note svg{flex-shrink:0;opacity:.6}.manual-db-note a{color:var(--primary);text-decoration:none}.manual-db-note a:hover{text-decoration:underline}@media(max-width:600px){.manual-db-form{padding:var(--space-4)}.manual-db-content{padding:var(--space-6)}}.user-dropdown{position:relative}.user-dropdown-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:2px solid var(--border-light);border-radius:50%;background:var(--background-card);cursor:pointer;transition:border-color .15s ease,transform .15s ease;overflow:hidden}.user-dropdown-trigger:hover{border-color:var(--border-medium);transform:scale(1.05)}.user-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-purple) 0%,var(--brand-blue) 100%);color:#fff;font-weight:600;font-size:14px}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;animation:dropdownSlideIn .15s ease-out;overflow:hidden}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)}.user-dropdown-avatar,.user-dropdown-avatar-placeholder{width:40px;height:40px;border-radius:50%;flex-shrink:0}.user-dropdown-avatar{object-fit:cover}.user-dropdown-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-purple) 0%,var(--brand-blue) 100%);color:#fff;font-weight:600;font-size:16px}.user-dropdown-info{display:flex;flex-direction:column;min-width:0}.user-dropdown-name{font-weight:600;font-size:var(--font-size-body);color:var(--text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-email{font-size:var(--font-size-small);color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-divider{height:1px;background:var(--border-light);margin:0}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;font-size:var(--font-size-body);color:var(--text-default);cursor:pointer;transition:background-color .15s ease;text-align:left}.user-dropdown-item:hover{background-color:var(--surface)}.user-dropdown-item svg{color:var(--text-light);flex-shrink:0}.user-dropdown-signout{color:var(--alert)}.user-dropdown-signout svg{color:var(--alert)}.user-dropdown-signout:hover{background-color:#c54d4d14}.user-dropdown-sidebar{width:100%}.user-dropdown-trigger-sidebar{width:100%;height:auto;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);justify-content:flex-start;gap:var(--space-2)}.user-dropdown-trigger-sidebar .user-avatar,.user-dropdown-trigger-sidebar .user-avatar-placeholder{width:28px;height:28px;flex-shrink:0}.user-dropdown-trigger-name{font-size:var(--font-size-small);font-weight:500;color:var(--text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-sidebar .user-dropdown-menu{bottom:calc(100% + 8px);top:auto;left:0;right:auto;animation:dropdownSlideUp .15s ease-out}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar{display:flex;flex-direction:column;height:100%;background:var(--background);border-right:1px solid var(--border-light)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-light)}.sidebar-logo{display:flex;align-items:center}.sidebar-logo img{height:24px;width:auto}[data-theme=dark] .sidebar-logo img{filter:invert(1)}.sidebar-sync-btn{display:flex;align-items:center;justify-content:center;position:relative;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-light);cursor:pointer;transition:all .15s ease}.sidebar-sync-btn:hover{background:var(--surface);color:var(--text-default)}.sidebar-sync-btn:disabled{opacity:.7;cursor:default}.sidebar-sync-btn .spinning{animation:spin 1s linear infinite}.sidebar-sync-btn .sync-status-dot{position:absolute;bottom:4px;right:4px;width:6px;height:6px;border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar-new-chat{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:500;color:var(--text-default);cursor:pointer;transition:all .15s ease}.sidebar-new-chat:hover{background:var(--background-card);border-color:var(--border-medium)}.sidebar-new-chat:active{transform:scale(.98)}.sidebar-new-chat svg{flex-shrink:0;color:var(--text-light)}.sidebar-conversations{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidebar-section-label{padding:var(--space-3) var(--space-4) var(--space-2);font-size:var(--font-size-smaller);font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.sidebar-conversations-list{flex:1;overflow-y:auto;padding:0 var(--space-2) var(--space-2)}.sidebar-conversation{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all .15s ease}.sidebar-conversation:hover{background:var(--surface)}.sidebar-conversation.selected{background:var(--surface);box-shadow:inset 3px 0 0 var(--primary)}.sidebar-conversation-avatar{flex-shrink:0}.sidebar-conversation-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-conversation-title{font-size:var(--font-size-small);font-weight:500;color:var(--text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-conversation-time{font-size:var(--font-size-smaller);color:var(--text-light)}.sidebar-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-light);font-size:var(--font-size-small)}.sidebar-loading .loading-spinner.small{width:14px;height:14px;border-width:2px}.sidebar-empty{padding:var(--space-6) var(--space-4);text-align:center}.sidebar-empty p{margin:0;color:var(--text-light);font-size:var(--font-size-small)}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border-light)}.sidebar-footer .user-dropdown{width:100%}.sidebar-footer .user-dropdown-trigger{width:100%;justify-content:flex-start;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.sidebar-footer .user-dropdown-trigger:hover{background:var(--surface)}.sidebar-footer .user-dropdown-menu{bottom:100%;top:auto;margin-bottom:var(--space-2)}.app{min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-container.no-header{display:block}.app-container.no-header .chat-interface{height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background-color:var(--surface);border-bottom:none;box-shadow:0 1px 0 var(--border-light);flex-shrink:0}.app-title{margin:0;display:flex;align-items:center}.app-title img{height:26px;width:auto;color:var(--primary)}[data-theme=dark] .app-title img{filter:brightness(0) saturate(100%) invert(79%) sepia(27%) saturate(747%) hue-rotate(7deg) brightness(99%) contrast(91%)}[data-theme=light] .app-title img{filter:brightness(0) saturate(100%) invert(24%) sepia(6%) saturate(0%) hue-rotate(180deg) brightness(96%) contrast(88%)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.status-badge{padding:3px var(--space-2);background-color:transparent;color:var(--brand-green);font-size:var(--font-size-micro);font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;border:1px solid currentColor;opacity:.7}.status-badge.local{color:var(--text-light);border-color:var(--border-medium)}.status-badge.synced{color:var(--brand-green)}.sync-status-btn{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background-color:transparent;color:var(--text-light);transition:background-color .15s ease,color .15s ease;opacity:.7}.sync-status-btn:hover{background-color:var(--border-light);color:var(--text-default);opacity:1}.sync-status-btn:disabled{cursor:default}.sync-status-btn svg{width:14px;height:14px;transition:transform .3s ease}.sync-status-btn svg.spinning{animation:spin 1s linear infinite}.sync-status-dot{position:absolute;bottom:2px;right:2px;width:6px;height:6px;border-radius:50%;border:1.5px solid var(--surface)}.header-settings-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background-color:transparent;color:var(--text-light);border:none;transition:background-color .15s ease,color .15s ease;opacity:.7}.header-settings-btn:hover{background-color:var(--border-light);color:var(--text-default);opacity:1}.header-settings-btn:hover svg{transform:rotate(45deg)}.header-settings-btn svg{transition:transform .3s ease}.chat-interface{display:flex;flex:1;overflow:hidden}.sidebar{width:280px;flex-shrink:0;overflow:hidden}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.no-conversation{flex:1;display:flex;flex-direction:column;background-color:var(--background)}.no-conversation-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8)}.empty-state-input-area{padding:var(--space-4);padding-bottom:var(--space-6);background:var(--background);width:100%}.empty-state-input-area .message-input-container{padding-top:0}.empty-state-input-area .message-input-container:before{display:none}.welcome-header{margin-bottom:var(--space-6)}.welcome-greeting{margin:0 0 var(--space-2);font-family:var(--font-tobias);font-size:var(--font-size-h3);font-weight:300;color:var(--text-default);letter-spacing:-.01em}.welcome-subheader{margin:0;font-family:var(--font-body);font-size:var(--font-size-body);font-weight:300;color:var(--text-light)}.conversation-starters{margin-bottom:var(--space-3);width:100%;max-width:780px;margin-left:auto;margin-right:auto}.starters-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;scroll-behavior:smooth;padding:var(--space-1) 0}.starters-scroll:active{cursor:grabbing}.starters-scroll::-webkit-scrollbar{display:none}.starters-rows{display:inline-flex;flex-direction:column;gap:var(--space-2)}.starters-row{display:flex;gap:var(--space-2)}.starter-pill{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-full);font-size:var(--font-size-small);font-weight:300;color:var(--text-default);cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.starter-pill:hover{background:var(--surface);border-color:var(--primary)}.starter-pill:active{opacity:.8}.starters-loading{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0}.starter-skeleton{width:140px;height:36px;background:linear-gradient(90deg,var(--border-light) 25%,var(--surface) 50%,var(--border-light) 75%);background-size:200% 100%;border-radius:var(--radius-full);animation:skeleton-shimmer 1.5s infinite;flex-shrink:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.character-selection{display:flex;justify-content:center;margin-bottom:var(--space-4)}.empty-state-selector{margin:0 auto}.loading-screen,.error-screen{flex:1;display:flex;align-items:center;justify-content:center}.loading-content,.error-content{text-align:center;padding:var(--space-8)}.loading-spinner.large{width:48px;height:48px;border:4px solid var(--border-medium);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-4)}.loading-content h2,.error-content h2{margin:0 0 var(--space-2);font-size:var(--font-size-xl);font-weight:500;color:var(--text-default)}.loading-content p,.error-content p{margin:0;color:var(--text-light)}.error-content{max-width:400px}.error-content h2{color:var(--alert)}.error-hint{margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--text-light)}.error-actions{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}.error-content button{padding:var(--space-2) var(--space-4);background-color:var(--brand-blue);color:#fff;border-radius:var(--radius-lg);font-weight:500;transition:opacity .15s ease}.error-content button:hover{opacity:.9}.error-content button.secondary{background-color:transparent;color:var(--text-default);border:1px solid var(--border-medium)}.error-content button.secondary:hover{background-color:var(--border-light)}.sign-in-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--background) 0%,var(--surface) 50%,var(--background) 100%);position:relative;overflow:hidden}.sign-in-container:before{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(227,179,77,.08) 0%,transparent 70%);pointer-events:none}.sign-in-container:after{content:"";position:absolute;bottom:-150px;left:-150px;width:400px;height:400px;background:radial-gradient(circle,rgba(77,121,227,.06) 0%,transparent 70%);pointer-events:none}.sign-in-content{text-align:center;padding:var(--space-8);position:relative;z-index:1;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sign-in-logo{margin-bottom:var(--space-6);animation:float 4s ease-in-out infinite}.sign-in-logo img{width:220px;height:auto}[data-theme=dark] .sign-in-logo img{filter:invert(1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.sign-in-content h1{margin:0 0 var(--space-2);font-size:var(--font-size-h1);font-weight:700;color:var(--text-default);letter-spacing:-.02em}.sign-in-btn{padding:var(--space-3) var(--space-8);background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000;font-size:var(--font-size-lg);font-weight:600;border-radius:var(--radius-xl);transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 4px 16px #e3b34d40}.sign-in-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #e3b34d59}.sign-in-btn:active{transform:translateY(0) scale(.98)}.new-chat-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-light)}.new-chat-info h3{margin:0;font-size:var(--font-size-body);font-weight:600;color:var(--text-default)}.new-chat-info p{margin:0;font-size:var(--font-size-small);color:var(--text-light)}.chat-messages.empty{flex:1;display:flex;align-items:center;justify-content:center}.empty-chat-prompt{text-align:center;color:var(--text-light)}.empty-chat-prompt .emoji{font-size:48px;display:block;margin-bottom:var(--space-3)}.empty-chat-prompt p{margin:0;font-size:var(--font-size-body)}@media(max-width:768px){.sidebar{display:none}.chat-interface{flex-direction:column}}@keyframes spin{to{transform:rotate(360deg)}}.device-setup-screen{display:flex;flex-direction:column;min-height:100vh;background:var(--background)}.device-setup-screen .app-header{position:fixed;top:0;left:0;right:0;z-index:100}.device-setup-screen .device-pairing{padding-top:60px}.skip-pairing-hint{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);text-align:center}.text-btn{background:none;border:none;color:var(--text-light);font-size:var(--font-size-small);cursor:pointer;padding:var(--space-2) var(--space-3);text-decoration:underline;transition:color .15s ease}.text-btn:hover{color:var(--text-default)}.onboarding-screen{display:flex;flex-direction:column;min-height:100vh;background:var(--background)}.onboarding-screen .app-header{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent}.onboarding-screen .onboarding-choice{padding-top:60px}.onboarding-error{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);background:var(--alert);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-3);box-shadow:0 4px 16px #c54d4d4d;animation:slideUp .3s ease}.onboarding-error p{margin:0;font-size:var(--font-size-small)}.onboarding-error button{background:#fff3;color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-weight:500;transition:background .15s ease}.onboarding-error button:hover{background:#ffffff4d}.db-exists-warning{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);padding-top:calc(60px + var(--space-6))}.db-exists-content{max-width:500px;text-align:center;animation:fadeIn .4s ease-out}.warning-icon{font-size:64px;margin-bottom:var(--space-4)}.db-exists-content h2{margin:0 0 var(--space-3);font-size:var(--font-size-h3);font-weight:600;color:var(--text-default)}.db-exists-description{margin:0 0 var(--space-6);font-size:var(--font-size-body);color:var(--text-light);line-height:1.6}.db-exists-options{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.db-exists-option{background:var(--background-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left}.db-exists-option.danger{border-color:#c54d4d4d;background:#c54d4d0d}.db-exists-option h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:600;color:var(--text-default)}.db-exists-option p{margin:0 0 var(--space-4);font-size:var(--font-size-small);color:var(--text-light);line-height:1.5}.db-exists-option .danger-text{color:var(--alert)}.db-exists-btn{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.db-exists-btn.primary{background:linear-gradient(135deg,var(--primary) 0%,#d4a43e 100%);color:#000}.db-exists-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e3b34d4d}.db-exists-btn.danger{background:var(--alert);color:#fff}.db-exists-btn.danger:hover:not(:disabled){background:#b04444}.db-exists-btn:disabled{opacity:.6;cursor:not-allowed}.db-exists-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-light);font-size:var(--font-size-small)}.db-exists-divider:before,.db-exists-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.db-exists-back{background:none;border:none;color:var(--text-light);font-size:var(--font-size-small);cursor:pointer;padding:var(--space-2) var(--space-3);transition:color .15s ease}.db-exists-back:hover:not(:disabled){color:var(--text-default)}.db-exists-back:disabled{opacity:.5;cursor:not-allowed}.db-exists-error{margin-top:var(--space-4);padding:var(--space-3);background:#c54d4d1a;border:1px solid rgba(197,77,77,.3);border-radius:var(--radius-md);color:var(--alert);font-size:var(--font-size-small)}.db-exists-error p{margin:0}@font-face{font-family:Tobias;src:url(/assets/Tobias-Light-DM8d30_Z.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Sohne;src:url(/assets/Sohne-Leicht-CktuUDd9.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Sohne;src:url(/assets/Sohne-Buch-BeTVG_Vu.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sohne;src:url(/assets/Sohne-Kraftig-CnU0eyZd.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--background: #FFF8F4;--surface: #efebe7;--background-card: #FFFFFF;--primary: #E3B34D;--success: #4DC565;--alert: #C54D4D;--disabled: #BAB6B4;--brand-blue: #4D79E3;--brand-purple: #7656DB;--brand-green: #4DC565;--brand-yellow: #E3B34D;--brand-mint: #4DC5A4;--brand-red: #C54D4D;--brand-grey: #A5A5A5;--user-bubble: #4D79E3;--response-bubble: #F0EBE7;--text-default: #000000;--text-light: #656260;--text-on-user-bubble: #FFFFFF;--text-on-bubble: #000000;--border-light: rgba(0, 0, 0, .05);--border-medium: rgba(0, 0, 0, .1);--border-heavy: rgba(0, 0, 0, .2);--color-primary: var(--primary);--color-primary-light: rgba(227, 179, 77, .2);--color-border: var(--border-medium);--color-surface: var(--surface);--color-surface-elevated: var(--background-card);--color-text-primary: var(--text-default);--color-text-secondary: var(--text-light);--spacing-2: var(--space-2);--spacing-3: var(--space-3);--spacing-4: var(--space-4);--border-radius-md: var(--radius-md);--font-heading: var(--font-body);--font-body: "Sohne", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-tobias: "Tobias", Georgia, serif;--font-mono: "SF Mono", "Fira Code", monospace;--font-size-micro: 9px;--font-size-mini: 10px;--font-size-tiny: 11px;--font-size-little: 12px;--font-size-smaller: 13px;--font-size-small: 14px;--font-size-body: 16px;--font-size-big-body: 17px;--font-size-lg: 18px;--font-size-h4: 20px;--font-size-xl: 24px;--font-size-h3: 28px;--font-size-h2: 32px;--font-size-h1: 41px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 100px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}[data-theme=dark]{--background: #101015;--surface: #181A20;--background-card: #181A20;--response-bubble: #181A20;--text-default: #FFF8F4;--text-light: #A2A1A0;--text-on-bubble: #CFCFD0;--border-light: rgba(255, 255, 255, .1);--border-medium: rgba(255, 255, 255, .15);--border-heavy: rgba(255, 255, 255, .25)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--font-size-body);font-weight:300;color:var(--text-default);background-color:var(--background);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-heavy)}:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;padding:0}button:disabled{cursor:not-allowed}input,textarea{font-family:inherit;font-size:inherit;border:none;background:none;outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .2s ease-out}.slide-up{animation:slideUp .3s ease-out}
