@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+1E00-1E9F,U+2C60-2C7F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-cyrillic.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-500-latin.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-600-latin.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-700-latin.woff2) format("woff2")}:root{--bg: #08080f;--bg-surface: #0e0e1a;--bg-card: #111120;--bg-elev: #1a1a2e;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--text: #ededf0;--text-secondary:#8e8ea8;--text-muted: #5c5c75;--accent: #6366f1;--accent-hover: #818cf8;--accent-soft: rgba(99, 102, 241, .15);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--grad-accent: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);--grad-soft: linear-gradient(135deg, rgba(99,102,241,.2), rgba(168,85,247,.15));--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--shadow-sm: 0 1px 2px rgba(0,0,0,.25);--shadow-md: 0 6px 20px rgba(0,0,0,.35);--shadow-lg: 0 14px 40px rgba(0,0,0,.5);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Space Grotesk", "Inter", sans-serif;--tg-bg: var(--bg);--tg-bg-2: var(--bg-surface);--tg-text: var(--text);--tg-hint: var(--text-secondary);--tg-link: var(--accent-hover);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em;margin:0}button,textarea,input{font-family:inherit;color:inherit}.btn{padding:11px 20px;border-radius:var(--r-md);border:none;font-size:15px;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s,box-shadow .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn--primary{background:var(--grad-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){opacity:.95;box-shadow:var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(1px)}.btn--secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--bg-elev)}.btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn--ghost:hover:not(:disabled){color:var(--text);background:var(--bg-card)}.btn--danger{background:transparent;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.btn--danger:hover:not(:disabled){background:#ef44441a}.btn:disabled{opacity:.4;cursor:default}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--bg-card);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.state{min-height:100vh;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.state__icon{width:72px;height:72px;border-radius:50%;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--accent-hover);box-shadow:0 0 40px var(--accent-soft)}.state__title{font-size:22px;font-weight:600;font-family:var(--font-heading)}.state__text{color:var(--text-secondary);max-width:320px;line-height:1.6}.spinner{width:30px;height:30px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;background:var(--bg)}.sb{flex:0 0 280px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;transition:transform .25s ease;z-index:30}.sb__top{padding:14px 12px;border-bottom:1px solid var(--border);display:flex;gap:8px}.sb__new{flex:1;padding:10px 14px;background:var(--grad-accent);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center}.sb__list{flex:1 1 auto;overflow-y:auto;padding:8px}.sb__section{padding:10px 10px 4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}.sb__section .icon-btn{width:24px;height:24px}.sb__item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-sm);cursor:pointer;color:var(--text-secondary);font-size:14px;transition:background .15s,color .15s;margin-bottom:2px;position:relative}.sb__item:hover{background:var(--bg-card);color:var(--text)}.sb__item--active{background:var(--accent-soft);color:var(--text)}.sb__item__title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb__item__menu{opacity:0;transition:opacity .15s}.sb__item:hover .sb__item__menu,.sb__item--active .sb__item__menu{opacity:1}.sb__folder{margin-top:6px}.sb__folder__head{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:var(--r-sm);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer}.sb__folder__head:hover{background:var(--bg-card);color:var(--text)}.sb__folder__children{padding-left:10px}.sb__images-slot{padding:10px 12px;margin:8px;border-radius:var(--r-md);background:var(--grad-soft);color:var(--text-secondary);font-size:13px;display:flex;align-items:center;gap:10px;border:1px solid var(--border)}.sb__images-slot__soon{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:10px;background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.sb__footer{border-top:1px solid var(--border);padding:10px}.sb__profile-btn{width:100%;padding:10px 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);color:var(--text);cursor:pointer;transition:background .15s}.sb__profile-btn:hover{background:var(--bg-elev)}.sb__profile-btn__avatar{width:32px;height:32px;border-radius:50%;background:var(--grad-accent);color:#fff;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sb__profile-btn__info{flex:1;min-width:0;text-align:left}.sb__profile-btn__email{font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb__profile-btn__plan{font-size:11px;color:var(--text-secondary)}.sb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s}.sb-overlay.visible{opacity:1;pointer-events:auto}@media (max-width: 640px){.sb{position:fixed;left:0;top:0;bottom:0;flex:0 0 82%;max-width:320px;transform:translate(-100%)}.sb--open{transform:translate(0)}}.chat{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.chat-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg)}.chat-header__menu{display:none}@media (max-width: 640px){.chat-header__menu{display:inline-flex}}.chat-header__title{flex:1;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header__quota{font-size:12px;color:var(--text-secondary);padding:4px 10px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);font-variant-numeric:tabular-nums}.banner{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--border)}.banner--warn{background:#f59e0b1f;color:#fde68a}.banner--error{background:#ef44441f;color:#fecaca}.banner__action{margin-left:auto;padding:5px 12px;background:var(--accent);color:#fff;border:none;border-radius:var(--r-sm);font-size:12px;font-weight:500;cursor:pointer}.chat-scroll{flex:1 1 auto;overflow-y:auto;padding:16px 12px 8px}.chat-messages{display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto}.welcome{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px 16px}.welcome__icon{width:80px;height:80px;border-radius:50%;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--accent-hover);box-shadow:0 0 60px var(--accent-soft)}.welcome__title{font-family:var(--font-heading);font-size:22px;font-weight:700;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome__hint{color:var(--text-secondary);max-width:340px;line-height:1.6}.msg{display:flex}.msg--user{justify-content:flex-end}.msg--assistant{justify-content:flex-start}.msg__bubble{max-width:86%;padding:11px 15px;border-radius:var(--r-lg);word-wrap:break-word;overflow-wrap:break-word;line-height:1.5}.msg--user .msg__bubble{background:var(--grad-accent);color:#fff;border-bottom-right-radius:6px}.msg--assistant .msg__bubble{background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:6px}.msg__text{white-space:pre-wrap}.msg__md p{margin:0 0 .55em}.msg__md p:last-child{margin-bottom:0}.msg__md ul,.msg__md ol{margin:.4em 0;padding-left:1.3em}.msg__md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;padding:1px 5px;border-radius:5px;background:#ffffff12}.msg__md pre{margin:.6em 0;padding:10px 12px;border-radius:10px;background:#00000073;overflow-x:auto}.msg__md pre code{background:none;padding:0;font-size:13px;white-space:pre}.msg__md a{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}.msg__typing{display:flex;gap:4px;align-items:center;padding:4px 0}.msg__typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typing-pulse 1.1s infinite ease-in-out}.msg__typing span:nth-child(2){animation-delay:.15s}.msg__typing span:nth-child(3){animation-delay:.3s}@keyframes typing-pulse{0%,80%,to{opacity:.35;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.composer{flex-shrink:0;display:flex;align-items:flex-end;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg)}.composer__input{flex:1 1 auto;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:20px;padding:11px 16px;font-size:15px;line-height:1.45;resize:none;min-height:42px;max-height:180px;outline:none;transition:border-color .15s,box-shadow .15s}.composer__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer__input:disabled{opacity:.6}.composer__send{width:42px;height:42px;border-radius:50%;border:none;background:var(--grad-accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s,opacity .15s;flex-shrink:0;box-shadow:var(--shadow-sm)}.composer__send:hover:not(:disabled){transform:scale(1.05)}.composer__send:disabled{opacity:.35;cursor:default}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s}@media (min-width: 640px){.modal-bg{align-items:center}}.modal{background:var(--bg-surface);border-top-left-radius:var(--r-xl);border-top-right-radius:var(--r-xl);padding:20px 20px calc(20px + env(safe-area-inset-bottom));width:100%;max-width:520px;max-height:88vh;overflow-y:auto;animation:slideUp .24s ease-out;border:1px solid var(--border)}@media (min-width: 640px){.modal{border-radius:var(--r-xl)}}.modal__title{font-family:var(--font-heading);font-size:20px;font-weight:700;margin-bottom:12px}.modal__close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-secondary);font-size:22px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal__close:hover{background:var(--bg-card);color:var(--text)}.modal-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);gap:14px}.modal-row:last-child{border-bottom:none}.modal-row__label{color:var(--text-secondary);font-size:13px}.modal-row__value{color:var(--text);font-size:14px;font-weight:500;word-break:break-word;text-align:right}@keyframes slideUp{0%{transform:translateY(28px);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pricing{padding:16px 14px 28px;max-width:520px;margin:0 auto}.pricing__title{font-family:var(--font-heading);font-size:24px;font-weight:700;margin-bottom:6px;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}.pricing__hint{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.plan-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:12px;transition:border-color .15s,transform .1s}.plan-card--featured{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-md);position:relative}.plan-card--featured:before{content:"Популярный";position:absolute;top:-10px;right:14px;background:var(--grad-accent);color:#fff;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.plan-card__name{font-family:var(--font-heading);font-size:17px;font-weight:600;margin-bottom:3px}.plan-card__price{font-family:var(--font-heading);font-size:26px;font-weight:700;color:var(--text)}.plan-card__price small{font-family:var(--font-body);font-size:13px;color:var(--text-secondary);font-weight:400;margin-left:4px}.plan-card__features{list-style:none;padding:0;margin:12px 0 16px;color:var(--text-secondary);font-size:13px}.plan-card__features li{padding:4px 0;display:flex;align-items:center;gap:8px}.plan-card__features li:before{content:"✓";color:var(--accent-hover);font-weight:700}.plan-card__cta{width:100%}.plan-card__active-hint{color:var(--text-secondary);font-size:12px;margin-bottom:8px}.plan-card__options{display:grid;gap:8px}.plan-card__option{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:13px;cursor:pointer;transition:all .15s}.plan-card__option:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.plan-card__option:disabled{opacity:.6;cursor:default}.plan-card__option-label{font-weight:600}.plan-card__option-price{font-weight:700}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%) translateY(20px);padding:10px 16px;background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);font-size:13px;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:var(--shadow-md)}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.toast--error{border-color:#ef444466}.toast--ok{border-color:#22c55e66}
