.chat-hero{align-items:center;flex-wrap:nowrap}.chat-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px 20px;margin-bottom:20px;padding:20px 24px}.chat-banner-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.chat-banner-badge{gap:6px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.chat-banner-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:chat-pulse 1.8s ease-in-out infinite}.chat-banner-title{font-weight:700;color:var(--fg)}.chat-banner-desc{font-size:.9rem;color:var(--fg-muted)}.chat-banner-close{align-self:start}.chat-feedback{align-items:center}.chat-feedback>p{flex:1}.chat-banner,.chat-feedback,.chat-hero{transition:opacity .25s var(--ease),transform .25s var(--ease)}:is(.chat-banner,.chat-feedback,.chat-hero).is-leaving{opacity:0;transform:translateY(-8px)}.chat-guest-notice{margin:20px 0 0}.ai-chat-layout{position:relative;display:grid;grid-template-columns:290px minmax(0,1fr);height:clamp(480px,calc(100dvh - var(--header-h) - 48px),920px);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.ai-chat-layout.fullscreen{position:fixed;inset:0;z-index:9000;height:auto;border:0;border-radius:0;background:var(--bg)}.shell-content:has(.ai-chat-layout.fullscreen){backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}.chat-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--surface-2)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.sidebar-header h2{font-size:1rem;font-weight:700;color:var(--fg)}.sidebar-header-actions{display:flex;gap:6px}.chat-list{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}.chat-item{padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.chat-item:hover{background:var(--surface-3)}.chat-item.active{background:var(--brand-gradient-soft);border-color:#025bff73}.chat-item-title{font-size:.9rem;font-weight:600;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-subtitle{margin-top:2px;font-size:.75rem;color:var(--fg-subtle)}.chat-item-model{margin-top:6px}.model-container{display:flex;align-items:center;gap:6px;min-width:0}.model-container .model-name{font-size:.75rem;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-logo-small,.model-logo-placeholder-small{width:16px;height:16px;flex-shrink:0;border-radius:4px;object-fit:contain}.model-logo-placeholder-small{display:inline-flex;align-items:center;justify-content:center;font-size:.55rem;background:var(--surface-3);color:var(--fg-subtle)}.chat-title-input,.current-chat-title-input{width:100%;padding:4px 8px;border:1px solid var(--brand-blue);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--fg);font:inherit;font-size:.9rem;font-weight:600;outline:none;box-shadow:var(--focus-ring)}.current-chat-title-input{font-size:1rem}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.chat-title{flex:1;min-width:0}.chat-title h3{font-size:1rem;font-weight:700;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.chat-subtitle{font-size:.75rem;color:var(--fg-subtle)}.chat-header-actions{display:flex;gap:4px;flex-shrink:0}.header-action-btn{color:var(--fg-muted)}.header-action-btn.delete-btn:hover{color:var(--danger);border-color:var(--danger)}.header-action-btn.fullscreen-active{color:var(--brand-blue);background:var(--surface-3)}.chat-sidebar-toggle,.chat-sidebar-close,.chat-sidebar-backdrop{display:none}.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding:20px}.chat-messages:empty:before{content:"Начните диалог — задайте любой вопрос";margin:auto;color:var(--fg-subtle);font-size:.9rem;text-align:center}.welcome-message{display:flex;flex-direction:column}:is(.user-message,.ai-message,.assistant-message,.message-assistant){display:flex;align-items:flex-start;gap:10px;max-width:min(85%,860px);align-self:flex-start;animation:chat-message-in .25s var(--ease)}.user-message{align-self:flex-end;flex-direction:row-reverse}.message-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--surface-3);border:1px solid var(--line);font-size:1rem;color:var(--fg-muted)}.user-message .message-avatar{background:var(--brand-gradient);border-color:transparent;color:#fff;font-size:.85rem;font-weight:700}.message-content{display:flex;flex-direction:column;min-width:0}.user-message .message-content{align-items:flex-end}.message-text{padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);border-top-left-radius:4px;background:var(--surface-2);color:var(--fg);line-height:1.6;overflow-wrap:anywhere}.user-message .message-text{background:var(--brand-gradient-soft);border-color:#025bff4d;border-radius:var(--radius-lg);border-top-right-radius:4px}.message-time{margin-top:4px;padding:0 4px;font-size:.7rem;color:var(--fg-subtle)}.message-delete-btn{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-solid);color:var(--fg-subtle);font-size:.7rem;cursor:pointer;opacity:0;transition:opacity var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.message-delete-btn:hover,.message-delete-btn:focus-visible{color:var(--danger);border-color:var(--danger)}.message-content>.message-delete-btn{align-self:flex-start;margin-top:4px}:is(.user-message,.ai-message,.assistant-message,.message-assistant):hover .message-delete-btn,.message-delete-btn:focus-visible{opacity:1}@media (hover: none){.message-delete-btn{opacity:.6}}.typing-indicator{display:none;align-items:center;gap:10px;align-self:flex-start}.typing-indicator.show{display:flex}.typing-dots,.thinking-dots{display:flex;gap:4px}.typing-dots{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.typing-dot,.thinking-dots span{width:7px;height:7px;border-radius:50%;background:var(--brand-blue);animation:chat-typing 1.2s ease-in-out infinite}:is(.typing-dot,.thinking-dots span):nth-child(2){animation-delay:.15s;background:color-mix(in srgb,var(--brand-blue),var(--brand-pink))}:is(.typing-dot,.thinking-dots span):nth-child(3){animation-delay:.3s;background:var(--brand-pink)}.ai-thinking{display:flex;align-items:center;gap:10px}.thinking-text{font-size:.85rem;color:var(--fg-muted)}.guest-limitation-message,.admin-limitation-message{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:#3b82f61a;border:1px solid rgb(59 130 246 / .3);font-size:.9rem}:is(.guest-limitation-message,.admin-limitation-message)>i{margin-top:3px;color:var(--info)}.admin-limitation-message{background:#f59e0b1a;border-color:#f59e0b4d}.admin-limitation-message>i{color:var(--warning)}.message-text strong{font-weight:700}.message-text .markdown-h1,.message-text .markdown-h2,.message-text .markdown-h3{margin:8px 0 4px;font-weight:700;line-height:1.3;color:var(--fg)}.message-text .markdown-h1{font-size:1.3rem}.message-text .markdown-h2{font-size:1.15rem}.message-text .markdown-h3{font-size:1.02rem}.message-text :is(.markdown-h1,.markdown-h2,.markdown-h3,.markdown-hr,.markdown-ul,.markdown-quote,.code-block-container)+br{display:none}.message-text .markdown-hr{margin:12px 0;border:0;border-top:1px solid var(--line)}.message-text .markdown-ul{margin:4px 0;padding-left:4px;list-style:none}.message-text .markdown-li{position:relative;padding-left:16px}.message-text .markdown-li:before{content:"";position:absolute;left:2px;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--brand-gradient)}.message-text .markdown-link{color:var(--brand-blue);text-decoration:underline;text-underline-offset:2px}.message-text .markdown-link:hover{color:var(--brand-pink)}.message-text .markdown-image{max-width:100%;margin:8px 0;border-radius:var(--radius-md)}.message-text .markdown-quote{margin:6px 0;padding:6px 12px;border-left:3px solid var(--brand-blue);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--fg-muted)}.message-text .inline-code{padding:1px 6px;border-radius:6px;background:var(--surface-3);border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;color:var(--accent-violet)}:root:not(.light-theme) .message-text .markdown-link{color:#4d8dff}.code-block-container{position:relative;margin:10px 0}.code-block-container .code-block{padding-top:30px;max-width:100%}.code-block-container:hover .code-actions{opacity:1}.code-language{position:absolute;top:8px;left:12px;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c}.code-actions{position:absolute;top:4px;right:6px;opacity:.6;transition:opacity var(--dur) var(--ease)}.code-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgb(255 255 255 / .15);border-radius:var(--radius-sm);background:#ffffff0f;color:#ffffffbf;font-size:.75rem;cursor:pointer}.code-copy-btn:hover{background:#ffffff24;color:#fff}.code-copy-btn.copied{background:var(--success);border-color:var(--success);color:#fff}.image-message-container,.image-description-container{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2)}.generated-image{max-width:min(100%,420px);border-radius:var(--radius-md);cursor:zoom-in;transition:transform var(--dur) var(--ease)}.generated-image:hover{transform:scale(1.01)}.image-description-title{color:var(--fg)}.image-description-text{color:var(--fg-muted);line-height:1.6}.image-prompt,.modal-prompt{font-size:.8rem;font-style:italic;color:var(--fg-subtle)}.image-actions{display:flex;gap:6px}.image-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--fg-muted);cursor:pointer}.image-action-btn:hover{color:var(--fg);border-color:var(--brand-blue)}.modal-image{display:block;max-height:70vh;margin:0 auto 12px;border-radius:var(--radius-md)}.message-audio-container{margin-top:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);min-width:min(260px,60vw)}.message-audio-player{display:flex;align-items:center;gap:10px}.message-audio-play-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:0;border-radius:50%;background:var(--brand-gradient);color:#fff;font-size:.8rem;cursor:pointer}.message-audio-play-btn.playing{box-shadow:var(--brand-glow)}.message-audio-info{flex:1;min-width:0}.message-audio-progress-container{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--fg-subtle);font-variant-numeric:tabular-nums}.message-audio-progress-bar{flex:1;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden;cursor:pointer}.message-audio-progress-fill{height:100%;background:var(--brand-gradient);transition:width .1s linear}.message-audio-expired{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.78rem;color:var(--fg-subtle)}.chat-input-container{padding:12px 16px 10px;border-top:1px solid var(--line);background:var(--surface-2)}.chat-input-wrapper{display:flex;align-items:flex-end;gap:8px}#messageInput{flex:1;min-height:44px;max-height:120px;resize:none;line-height:1.45}.voice-record-btn.recording{color:var(--danger);border-color:var(--danger)}.chat-actions{display:flex;justify-content:space-between;gap:12px;margin-top:6px;font-size:.72rem;color:var(--fg-subtle)}.message-counter{font-variant-numeric:tabular-nums}.voice-panel{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--fg-muted);font-size:.9rem}.voice-recording-panel{border-color:#ef444466}.voice-recording-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--danger);color:#fff}.voice-pulse{position:absolute;inset:0;border-radius:50%;background:var(--danger);animation:chat-ping 1.4s ease-out infinite}.voice-recording-indicator i{position:relative}.voice-recording-info{flex:1}.voice-recording-timer{font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}.voice-recording-label{font-size:.78rem}.voice-transcription-panel{flex-direction:column;align-items:stretch}.voice-transcription-panel .form-textarea{min-height:80px}.voice-transcription-header,.voice-transcription-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.voice-transcription-actions{justify-content:flex-end}.settings-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.models-grid{display:flex;flex-direction:column;gap:10px;margin-top:6px}.selected-model-indicator{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-radius:var(--radius-md);background:var(--brand-gradient-soft);font-size:.85rem}.indicator-label{color:var(--fg-muted)}.indicator-value{font-weight:600;color:var(--fg)}.model-accordion{display:flex;flex-direction:column;gap:8px}.model-accordion-item{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.model-accordion-item.open{border-color:#025bff66}.model-accordion-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;background:var(--surface-2);color:var(--fg);font:inherit;font-weight:600;text-align:left;cursor:pointer}.model-accordion-header:hover{background:var(--surface-3)}.provider-info{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1;min-width:0}.provider-logo,.provider-logo-placeholder,.model-logo,.model-logo-placeholder,.preview-logo{width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);object-fit:contain}.provider-logo-placeholder,.model-logo-placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-gradient-soft);color:var(--brand-blue);font-size:.8rem}.provider-badge{padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--fg-muted);font-size:.7rem;font-weight:600}.model-count{font-size:.78rem;font-weight:500;color:var(--fg-subtle);white-space:nowrap}.accordion-chevron{color:var(--fg-subtle);transition:transform var(--dur) var(--ease)}.model-accordion-item.open .accordion-chevron{transform:rotate(180deg)}.model-accordion-body{display:none}.model-accordion-body.open{display:block}.model-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px;padding:10px}.model-card{position:relative;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.model-card:hover{border-color:#025bff73}.model-card.selected{border-color:var(--brand-blue);background:var(--brand-gradient-soft);box-shadow:0 0 0 1px var(--brand-blue)}.model-card.locked{opacity:.75}.model-card.loading,.model-card.error{cursor:default}.model-card-content{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}.model-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.model-card .model-name{font-size:.9rem;font-weight:600;color:var(--fg)}.model-description{font-size:.75rem;line-height:1.45;color:var(--fg-muted)}.model-status{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600}.model-status.available{color:var(--success)}.model-status.locked{color:var(--fg-subtle)}.model-status.premium{color:var(--accent-amber)}.price-badges{display:flex;flex-wrap:wrap;gap:4px;width:100%}.price-badge{padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-3);color:var(--fg-muted);font-size:.68rem;font-weight:600}.price-badge.free-badge{border-color:#10b98159;background:#10b9811f;color:var(--success)}.lock-overlay{position:absolute;top:10px;right:10px;color:var(--fg-subtle);font-size:.8rem}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:10px}.template-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--fg);font:inherit;text-align:center;cursor:pointer;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.template-card:hover{transform:translateY(-2px);border-color:#025bff73}.template-icon{font-size:1.6rem}.template-title{font-weight:700;font-size:.9rem}.template-description{font-size:.75rem;color:var(--fg-muted)}.voice-promo{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.voice-promo-title{font-size:1.15rem;font-weight:700;color:var(--fg)}.mic-error-icon{background:var(--danger);box-shadow:none}.feature-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.feature-list li{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.feature-list strong{color:var(--fg);font-size:.9rem}.feature-list p{font-size:.8rem;color:var(--fg-subtle)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--brand-gradient);color:#fff;font-size:.8rem;font-weight:700}.voice-promo-actions{display:flex;flex-direction:column;gap:8px}.registration-modal-preview{display:flex;gap:12px;margin-bottom:16px}.registration-modal-preview h3{font-weight:700;color:var(--fg)}.preview-description{margin-top:4px;font-size:.85rem}.registration-modal-benefits-title{margin-bottom:8px;font-weight:700;color:var(--fg)}.registration-modal-benefits{display:flex;flex-direction:column;gap:6px}.registration-modal-benefits li{display:flex;align-items:center;gap:8px}.registration-modal-benefits i{color:var(--success)}@media (max-width: 860px){.chat-banner{grid-template-columns:auto minmax(0,1fr) auto;padding:16px}.chat-banner-cta{grid-column:1 / -1;grid-row:2}.chat-banner-close{grid-column:3;grid-row:1}.ai-chat-layout{grid-template-columns:minmax(0,1fr);height:clamp(460px,calc(100dvh - var(--header-h) - 24px),860px)}.chat-sidebar{position:absolute;inset:0 auto 0 0;z-index:20;width:min(300px,86%);background:var(--surface-solid);transform:translate(-102%);transition:transform .25s var(--ease)}.chat-sidebar-toggle,.chat-sidebar-close{display:inline-flex}.ai-chat-layout.sidebar-open .chat-sidebar{transform:none;box-shadow:var(--shadow-lg)}.ai-chat-layout.sidebar-open .chat-sidebar-backdrop{display:block;position:absolute;inset:0;z-index:15;background:var(--overlay)}.chat-header{padding:10px 12px;gap:8px}.chat-header-actions{gap:0}.chat-messages{padding:14px 12px;gap:14px}:is(.user-message,.ai-message,.assistant-message,.message-assistant){max-width:100%}.message-avatar{width:30px;height:30px;font-size:.85rem}.message-text{padding:10px 12px}.chat-input-container{padding:10px 12px 8px}.chat-hint{display:none}}@media (max-width: 420px){.chat-header-actions .header-action-btn{width:30px;min-height:30px;height:30px}}@keyframes chat-message-in{0%{opacity:0;transform:translateY(6px)}}@keyframes chat-typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@keyframes chat-pulse{50%{opacity:.35}}@keyframes chat-ping{to{transform:scale(1.8);opacity:0}}
