@keyframes profile-modal-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:1000;cursor:default}.profile-modal{position:fixed;top:3.25rem;right:1rem;width:min(320px,calc(100vw - 2rem));background:var(--color-input-bg);border-radius:12px;padding:1.25rem;box-shadow:0 4px 20px #00000026;border:1px solid var(--color-border);animation:profile-modal-in .2s ease-out}[data-theme=dark] .profile-modal{box-shadow:var(--color-shadow-md)}.profile-modal-content{display:flex;flex-direction:column;gap:.75rem}.profile-modal-row{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--color-text)}.profile-modal-icon{font-size:1rem}.profile-modal-empty{font-size:.9375rem;color:var(--color-text-secondary);text-align:center}.profile-modal-logout{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.profile-modal-logout-btn{width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:600;font-family:inherit;color:var(--color-text-secondary);background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,color .2s}.profile-modal-logout-btn:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.profile-modal-renewal{margin-top:.125rem;padding:.875rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#0088cc12,#0088cc08);border:1px solid rgba(0,136,204,.18);display:flex;flex-direction:column;gap:.75rem}[data-theme=dark] .profile-modal-renewal{background:linear-gradient(135deg,#38bdf81a,#38bdf80a);border-color:#38bdf847}[data-theme=dark] .profile-modal-renewal-cta{border-color:#38bdf86b}[data-theme=dark] .profile-modal-renewal-cta:hover{border-color:var(--color-accent)}.profile-modal-renewal-head{display:flex;align-items:flex-start;gap:.5rem}.profile-modal-renewal-head-text{flex:1;min-width:0}.profile-modal-renewal-title{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:.35rem}.profile-modal-renewal-desc{margin:0;font-size:.8125rem;line-height:1.45;color:var(--color-text-secondary)}.profile-modal-renewal-desc strong{color:var(--color-text);font-weight:600}.profile-modal-renewal-cta{width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;font-family:inherit;color:var(--color-accent);background:var(--color-input-bg);border:1px solid rgba(0,136,204,.35);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.profile-modal-renewal-cta:hover{background:#0088cc14;border-color:var(--color-accent)}.profile-modal-renewal-cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.profile-modal-renewal-confirm{display:flex;flex-direction:column;gap:.65rem}.profile-modal-renewal-confirm-lead{margin:0;font-size:.8125rem;line-height:1.45;color:var(--color-text)}.profile-modal-renewal-actions{display:flex;flex-wrap:wrap;gap:.5rem}.profile-modal-renewal-btn{flex:1;min-width:calc(50% - .25rem);padding:.45rem .65rem;font-size:.8125rem;font-weight:600;font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.profile-modal-renewal-btn:disabled{cursor:not-allowed;opacity:.65}.profile-modal-renewal-btn--ghost{color:var(--color-text-secondary);background:var(--color-input-bg);border:1px solid var(--color-border)}.profile-modal-renewal-btn--ghost:hover:not(:disabled){border-color:var(--color-text-secondary);color:var(--color-text)}.profile-modal-renewal-btn--primary{color:#fff;background:var(--color-accent);border:1px solid var(--color-accent)}.profile-modal-renewal-btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.profile-modal-renewal-error{margin:0;font-size:.75rem;line-height:1.4;color:#b45309;background:#fffbeb;padding:.45rem .5rem;border-radius:var(--radius-sm);border:1px solid #fcd34d}[data-theme=dark] .profile-modal-renewal-error{color:#fde68a;background:#b4530947;border-color:#fcd34d73}.profile-modal-divider{border-top:1px solid var(--color-border);margin:.25rem 0 0}.profile-modal-theme{display:flex;flex-direction:column;gap:.625rem}.profile-modal-theme-title{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary)}.profile-modal-theme-buttons{display:flex;flex-direction:column;gap:.45rem}.profile-modal-theme-btn{display:flex;align-items:center;justify-content:flex-start;gap:.4rem;width:100%;padding:.55rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.profile-modal-theme-btn:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.profile-modal-theme-btn.is-active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.profile-modal-theme-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.purchase-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#02061780;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:purchase-modal-fade .2s ease-out}@keyframes purchase-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes purchase-modal-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.purchase-modal{width:100%;max-width:640px;max-height:min(92vh,900px);display:flex;flex-direction:column;background:var(--color-input-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--color-shadow-md);border:1px solid var(--color-border);border-bottom:none;animation:purchase-modal-slide .28s cubic-bezier(.32,.72,0,1)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.purchase-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem;flex-shrink:0}.purchase-modal-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--color-text)}.purchase-modal-close{width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);font-size:1rem;cursor:pointer;transition:border-color .2s,background .2s}.purchase-modal-close:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.purchase-modal-lead{margin:0 1rem 1rem;font-size:.875rem;line-height:1.45;color:var(--color-text-secondary)}.purchase-modal-segments{display:flex;gap:.25rem;padding:0 1rem .75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.purchase-modal-segment{flex:1;padding:.625rem .75rem;font-size:.875rem;font-weight:600;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.purchase-modal-segment:hover:not(:disabled){color:var(--color-text);border-color:var(--color-accent)}.purchase-modal-segment.is-active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.purchase-modal-segment:disabled{opacity:.45;cursor:not-allowed}.purchase-modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.purchase-modal-section{margin:0}.purchase-modal-section-label{margin:0 0 .375rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.purchase-modal-packages-context{margin:0 0 1rem;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.45}.purchase-modal-loading{display:flex;align-items:center;gap:.75rem;padding:2rem 1rem;font-size:.9375rem;color:var(--color-text-secondary)}.purchase-modal-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:purchase-spin .7s linear infinite}@keyframes purchase-spin{to{transform:rotate(360deg)}}.purchase-modal-error{margin:0;padding:.75rem;font-size:.875rem;color:var(--tg-theme-destructive-text-color, #c62828);background:#c6282814;border-radius:var(--radius-sm)}.purchase-modal-empty{margin:0;padding:2rem 1rem;text-align:center;font-size:.9375rem;color:var(--color-text-secondary)}.purchase-modal-grid{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.purchase-modal-card{padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color .2s,box-shadow .2s}.purchase-modal-card:hover{border-color:var(--color-accent);box-shadow:0 4px 14px #0088cc1f}.purchase-modal-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.purchase-modal-card-badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);background:var(--color-accent-soft);padding:.25rem .5rem;border-radius:999px}.purchase-modal-card-badge--pkg{color:var(--color-text);background:var(--color-border)}.purchase-modal-card-price{font-size:1.125rem;font-weight:700;color:var(--color-accent)}.purchase-modal-card-title{margin:0 0 .5rem;font-size:1.0625rem;font-weight:600;color:var(--color-text)}.purchase-modal-card-meta{margin:0 0 .875rem;padding:0 0 0 1.1rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.purchase-modal-card-tokens{margin:0 0 .875rem;font-size:.9375rem;font-weight:600;color:var(--color-text)}.purchase-modal-primary-btn{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 8px #0088cc59}.purchase-modal-primary-btn:hover{background:var(--color-accent-hover)}.purchase-modal-primary-btn:active{transform:scale(.99)}.purchase-modal-primary-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.purchase-modal-primary-btn.purchase-modal-primary-btn--loading{animation:purchase-modal-btn-pulse 1.2s ease-in-out infinite}@keyframes purchase-modal-btn-pulse{0%,to{box-shadow:0 2px 8px #0088cc59}50%{box-shadow:0 2px 12px #0088cc80}}.purchase-modal-secondary-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:320px;margin:0 auto;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;font-family:inherit;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:transparent;color:var(--color-accent);cursor:pointer;transition:background .2s,color .2s}.purchase-modal-secondary-btn:hover{background:var(--color-accent-soft)}.purchase-modal-upsell{padding:.5rem 0 1rem;text-align:center}.purchase-modal-upsell-title{margin:0 0 .75rem;font-size:1.0625rem;font-weight:700;color:var(--color-text)}.purchase-modal-upsell-text{margin:0 0 1.25rem;font-size:.9375rem;line-height:1.55;color:var(--color-text-secondary);text-align:left}@media (min-width: 768px){.purchase-modal-overlay{align-items:center;padding:1.5rem}.purchase-modal{max-height:min(88vh,820px);border-radius:var(--radius-lg);border:1px solid var(--color-border);animation:purchase-modal-fade .2s ease-out}.purchase-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.purchase-modal-grid--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}[data-theme=dark] .purchase-modal-card-badge--pkg{background:#374151;color:#e5e7eb}@keyframes web-version-pulse{0%,to{box-shadow:0 0 #22c55e59}50%{box-shadow:0 0 0 6px #22c55e00}}.web-version-button--header{padding:var(--bar-btn-padding);font-size:1rem;font-family:inherit;font-weight:600;color:#fff;background:#22c55e;border:1px solid #16a34a;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;animation:web-version-pulse 2s ease-in-out infinite}.web-version-button--header:hover{background:#16a34a;border-color:#15803d;animation:none}.web-version-button--header:disabled{opacity:.8;animation:none}.web-version-button--header:active:not(:disabled){transform:scale(.98)}@media (min-width: 768px){.web-version-button--header{padding:.5rem 1rem}}.web-version-button--placeholder{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;padding:var(--bar-btn-padding);font-size:1rem;font-weight:600;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}@keyframes web-version-yandex-pulse{0%,to{box-shadow:0 0 #fc3f1d66}50%{box-shadow:0 0 0 6px #fc3f1d00}}.web-version-button--yandex{padding:var(--bar-btn-padding);font-size:clamp(.65rem,2.5vw,.9375rem);font-family:inherit;font-weight:600;line-height:1.2;color:#fff;background:#ef4444;border:1px solid #dc2626;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .2s;animation:web-version-yandex-pulse 2s ease-in-out infinite}.web-version-button--yandex:hover{background:#dc2626;border-color:#b91c1c;animation:none}.web-version-button--yandex:active{transform:scale(.98)}@media (min-width: 768px){.web-version-button--yandex{padding:.5rem 1rem;font-size:.875rem}}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--bar-padding-y) var(--bar-padding-x);background:var(--color-input-bg);border-bottom:1px solid var(--color-border);flex-shrink:0}.header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.header-brand{display:none;font-size:.9375rem;font-weight:600;color:var(--color-text)}@media (min-width: 768px){.header{padding:.75rem 1.25rem}.header-brand{display:inline;font-size:1.0625rem}.header-right-trailing{display:flex;width:auto}.header-profile-btn{padding:.4rem 1rem;font-size:.875rem}.header-balance-open{font-size:1rem}}.header-right{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-shrink:0;min-width:0}.header-right-trailing{display:flex;align-items:center;gap:.5rem;min-width:0;flex-shrink:0}@media (max-width: 639px){.header{flex-wrap:wrap;align-items:stretch;gap:.5rem}.header-left{flex:1 1 auto;min-width:0}.header-right{flex:1 1 100%;flex-direction:column;align-items:stretch;max-width:100%}.header-yandex-link-btn{width:100%;box-sizing:border-box}.header-right-trailing{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;min-width:0}.header-right-trailing .header-profile-btn{min-width:0}}.header-balance-open{white-space:nowrap;min-width:0;max-width:100%;font-weight:600;overflow:hidden;text-overflow:ellipsis}.header-profile-btn{padding:var(--bar-btn-padding);font-size:var(--bar-btn-font-size);font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;transition:all .2s}.header-profile-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:#0088cc0f}@keyframes header-yandex-link-pulse{0%,to{box-shadow:0 0 #fc3f1d66}50%{box-shadow:0 0 0 6px #fc3f1d00}}.header-yandex-link-btn{padding:var(--bar-btn-padding);font-size:clamp(.7rem,2.8vw,var(--bar-btn-font-size));font-family:inherit;font-weight:600;line-height:1.2;color:#fff;background:#ef4444;border:1px solid #dc2626;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .2s;animation:header-yandex-link-pulse 2s ease-in-out infinite}.header-yandex-link-btn:hover{background:#dc2626;border-color:#b91c1c;animation:none}.header-yandex-link-btn:active{transform:scale(.98)}.top-tabs{position:relative;z-index:1;flex-shrink:0;background:var(--color-input-bg);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;box-shadow:0 2px 8px #00000014}.top-tabs::-webkit-scrollbar{display:none}.top-tabs-scroll{display:flex;gap:.5rem;min-width:min-content;padding:var(--bar-padding-y) var(--bar-padding-x)}.top-tab{display:flex;align-items:center;gap:.375rem;padding:var(--bar-btn-padding);border:1px solid transparent;background:transparent;color:var(--color-text-secondary);font-size:.875rem;font-family:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;transition:color .2s,background .2s}.top-tab:hover{color:var(--color-accent-hover);background:#0088cc0f}.top-tab.active{color:var(--color-accent);font-weight:600;background:#0088cc1f;border:1px solid rgba(0,136,204,.3)}.top-tab-icon{font-size:1em}.top-tab-label{font-size:inherit}@media (min-width: 768px){.top-tabs{border-bottom-left-radius:12px;border-bottom-right-radius:12px;box-shadow:0 0 12px #0000000f}.top-tabs-scroll{justify-content:center;max-width:var(--app-max-width);margin:0 auto;gap:.75rem;padding:.75rem 1.25rem}.top-tab{padding:.4rem 1rem;font-size:.875rem;gap:.375rem;border-radius:8px}}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:1.5rem;background:var(--color-bg)}.login-screen-card{max-width:420px;width:100%;padding:2rem;background:var(--color-input-bg);border-radius:var(--radius-lg);box-shadow:var(--color-shadow-md)}.login-screen-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.login-screen-desc{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5;margin-bottom:1.5rem;text-align:center}.login-screen-error{color:#dc2626;font-size:.875rem;margin-bottom:1rem;text-align:center}.login-screen-loading{color:var(--color-text-secondary);font-size:.9375rem;text-align:center}.login-screen-btn{display:block;width:100%;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;text-align:center;text-decoration:none;color:#fff;background:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.login-screen-btn:hover{background:var(--color-accent-hover)}.login-screen-hint{margin-top:1rem;font-size:.8125rem;color:var(--color-text-secondary);text-align:center}.login-screen-divider{margin:1.25rem 0;text-align:center;font-size:.8125rem;color:var(--color-text-secondary)}.login-screen-btn-secondary{background:var(--color-input-bg);color:var(--color-text);border:1px solid var(--color-border, rgba(0, 0, 0, .12))}.login-screen-btn-secondary:hover{background:var(--color-bg)}.generate-btn{width:100%;padding:.875rem 1rem;font-size:1rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 8px #0088cc59}.generate-btn:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 4px 12px #08c6}.generate-btn:active:not(:disabled){transform:scale(.98)}.generate-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}@keyframes generate-btn-pulse{0%,to{box-shadow:0 2px 8px #0088cc59}50%{box-shadow:0 2px 12px #0088cc80}}.generate-btn.generate-btn--loading{animation:generate-btn-pulse 1.2s ease-in-out infinite}.generate-btn.generate-btn--insufficient{background:#f59e0b;color:#fff;box-shadow:0 2px 8px #f59e0b59}.photo-session-tab,.photo-session-main{display:flex;flex-direction:column;gap:1rem}.photo-session-preview-card{display:flex;flex-direction:column;gap:.75rem}.photo-session-preview-card .image-section-title{margin-bottom:0}.photo-session-preview-card .image-history-empty{min-height:300px;flex-shrink:0}@media (max-width: 767px){.photo-session-preview-media{height:200px}.photo-session-preview-card .image-history-empty{min-height:200px}}.photo-session-preview-media{position:relative;width:100%;height:300px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-input-bg, rgba(0, 0, 0, .06))}.photo-session-preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.photo-session-preview-img-btn{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:none;background:transparent;cursor:pointer;display:block;border-radius:var(--radius-md);overflow:hidden;outline:none;-webkit-tap-highlight-color:transparent}.photo-session-preview-img-btn:focus{outline:none}.photo-session-preview-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md)}.image-fullscreen-overlay.photo-session-fullscreen .image-fullscreen-content img{border-radius:0}@media (min-width: 768px){.photo-session-tab{flex:1;width:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:var(--app-form-column-width) minmax(0,1fr);align-items:stretch;gap:1.5rem}.photo-session-main{width:100%;min-width:0;max-width:none;display:flex;flex-direction:column;gap:1rem;min-height:0}.photo-session-tab .image-history{width:100%;min-width:0;min-height:0;display:flex;flex-direction:column}.photo-session-tab .image-history .image-history-grid-scroll{flex:1;min-height:0;overflow-y:auto}}@media (min-width: 768px){.photo-session-tab{max-width:var(--app-content-max-width);margin:0 auto}.photo-session-tab .image-history .image-history-grid{gap:1rem}}.image-tab,.image-tab-main{display:flex;flex-direction:column;gap:1rem}@media (max-width: 767px){.image-tab-main,.image-tab{gap:1.125rem}}@media (max-width: 767px){.image-history{flex:0 0 auto;min-height:0}}@media (min-width: 768px){.image-tab{flex:1;width:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:var(--app-form-column-width) minmax(0,1fr);align-items:stretch;gap:1.5rem;max-width:none;margin:0}.image-tab-main{width:100%;min-width:0;max-width:none;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.image-tab-main::-webkit-scrollbar{display:none}.image-history{width:100%;min-width:0;min-height:0;display:flex;flex-direction:column}.image-history-grid-scroll{flex:1;min-height:0;overflow-y:auto}}@media (min-width: 768px){.image-tab{max-width:var(--app-content-max-width);margin:0 auto}.image-prompt{min-height:88px}.generate-btn{width:100%}.image-history-empty{min-height:200px}.image-history-grid{gap:1rem}}@media (min-width: 1200px){.image-history .image-history-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1400px){.image-history .image-history-grid{grid-template-columns:repeat(5,1fr)}}.product-block .image-section-title{margin-bottom:1rem}.product-block-inner{display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 640px){.product-block-inner{flex-direction:row;align-items:stretch;gap:1.5rem}.product-block-description{flex:1;min-width:0;display:flex;flex-direction:column}.product-block-description .product-analysis-field{flex:1;display:flex;flex-direction:column}.product-block-description .product-block-textarea{flex:1;min-height:6.5rem}.product-block-photo{flex-shrink:0;width:100px;max-width:100px;display:flex;flex-direction:column}.product-block-photo .product-block-attachments-row{flex:1;min-height:0}}.product-block-textarea{min-height:5.5rem;transition:border-color .2s,box-shadow .2s}.product-block-photo{display:flex;flex-direction:column;gap:.5rem;min-width:0;max-width:100%;overflow:hidden}.product-block-photo-label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.product-block-attachments-row{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:6.5rem;width:100%;max-width:100%;padding:1rem;background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);transition:border-color .2s,background .2s;overflow:hidden;box-sizing:border-box}.product-block-attachments-row:has(.image-attachment-preview){padding:0;min-height:6.5rem;aspect-ratio:2/3;align-items:stretch;overflow:hidden}.product-block-attachments-row:has(.image-attachment-preview) .product-block-add{display:none}.product-block-attachments-row:has(.image-attachment-preview) .image-attachments-list{flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.product-block-attachments-row:has(.image-attachment-preview) .image-attachment-preview{flex:1;width:100%;min-width:0;min-height:0;border-radius:var(--radius-md);border:none;box-shadow:none;overflow:hidden}.product-block-attachments-row:hover{border-color:var(--color-accent);background:#0088cc0a}.product-block-add{width:80px;height:80px;min-width:80px;min-height:80px;border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-secondary);font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.product-block-add:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:#0088cc0f}.product-block-add:disabled{opacity:.5;cursor:not-allowed}.product-block-add-icon{line-height:1;font-weight:300}.product-block .image-attachments-list{flex:1;min-width:0;display:flex}.product-block .image-attachment-preview{width:80px;height:80px;min-width:80px;min-height:80px;border-radius:var(--radius-md);overflow:hidden;position:relative;border:1px solid var(--color-border);box-shadow:var(--color-shadow-sm)}.product-block .image-attachment-preview img{width:100%;height:100%;object-fit:cover;display:block}.product-block .image-attachment-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;border:none;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.product-block .image-attachment-remove:hover{background:#000c}.product-block .image-attachments-hint{font-size:.8125rem;color:var(--color-text-secondary);margin-top:.25rem;margin-bottom:0}.product-card-type-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.product-analysis-card{display:flex;flex-direction:column;gap:8px}.product-analysis-grid{display:grid;gap:6px}.product-analysis-field{display:flex;flex-direction:column;gap:4px}.product-analysis-label{font-size:15px;font-weight:600;color:#2f3848}.product-analysis-input{width:100%;resize:none;min-height:2.5rem;padding:.625rem .75rem;font-size:1rem;font-family:inherit;line-height:1.5;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text)}.product-analysis-skeleton{min-height:4.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--color-shadow-sm);background:radial-gradient(ellipse 52% 52% at 12% 18%,rgba(56,189,248,.22) 0%,transparent 52%),radial-gradient(ellipse 52% 52% at 88% 78%,rgba(59,130,246,.2) 0%,transparent 54%),radial-gradient(ellipse 52% 52% at 72% 22%,rgba(45,212,191,.18) 0%,transparent 50%),radial-gradient(ellipse 52% 52% at 22% 82%,rgba(14,165,233,.17) 0%,transparent 50%),radial-gradient(ellipse 52% 52% at 50% 52%,rgba(99,102,241,.12) 0%,transparent 50%),linear-gradient(180deg,#f0f9ff,#e0f2fe);background-size:250% 250%;animation:product-analysis-shimmer 2.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes product-analysis-shimmer{0%{background-position:8% 14%,92% 8%,70% 88%,26% 70%,58% 42%,0 0}25%{background-position:86% 70%,18% 84%,20% 24%,82% 34%,18% 86%,0 0}50%{background-position:18% 88%,78% 24%,90% 40%,10% 84%,44% 74%,0 0}75%{background-position:58% 34%,44% 92%,28% 60%,72% 18%,92% 44%,0 0}to{background-position:8% 14%,92% 8%,70% 88%,26% 70%,58% 42%,0 0}}.product-analysis-input::placeholder{color:var(--color-text-secondary)}.product-analysis-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #0088cc26}.image-prompt-wrap .image-attachments-hint.product-description-hint{margin-top:.5rem}.video-tab{display:flex;flex-direction:column;gap:1rem}@media (max-width: 767px){.video-tab .image-tab-main,.video-tab{gap:1.125rem}}@media (min-width: 768px){.video-tab{flex:1;width:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:var(--app-form-column-width) minmax(0,1fr);align-items:stretch;gap:1.5rem;max-width:none;margin:0}.video-tab .image-tab-main{width:100%;min-width:0;max-width:none;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.video-tab .image-tab-main::-webkit-scrollbar{display:none}.video-tab .image-history{width:100%;min-width:0;min-height:0;display:flex;flex-direction:column}.video-tab .image-history-grid-scroll{flex:1;min-height:0;overflow-y:auto}}@media (min-width: 768px){.video-tab{max-width:var(--app-content-max-width);margin:0 auto}.video-tab .image-history-empty{min-height:200px}.video-tab .image-history-grid{gap:1rem}}@media (min-width: 1200px){.video-tab .image-history .image-history-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1400px){.video-tab .image-history .image-history-grid{grid-template-columns:repeat(5,1fr)}}.video-history-card-wrap{position:relative}.video-history-card-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.5);pointer-events:none}.video-fullscreen-loading,.video-fullscreen-error{color:#fff;padding:2rem;text-align:center}.video-fullscreen-error{color:#fca5a5}.image-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem 1rem;background:var(--color-input-bg, rgba(255, 255, 255, .03));box-shadow:var(--color-shadow-sm)}@media (max-width: 479px){.image-card{padding:.75rem}}.image-section-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text);flex-shrink:0}.image-prompt-wrap{display:flex;flex-direction:column}.image-prompt-compact .image-prompt{padding:.625rem .75rem}.image-attachments{display:flex;flex-direction:column;gap:.5rem}.image-attachments .image-section-title{margin-bottom:.25rem}.image-prompt{width:100%;padding:1rem;font-size:1rem;font-family:inherit;line-height:1.5;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text);resize:none;min-height:75px;box-shadow:var(--color-shadow-sm);transition:border-color .2s,box-shadow .2s}.image-prompt::placeholder{color:var(--color-text-secondary)}.image-prompt:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #0088cc26}.image-attachments-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.image-attachments-loading{display:flex;align-items:center;gap:.75rem;padding:1rem}.image-attachments-loading-spinner{width:1.5rem;height:1.5rem;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:image-attachments-spin .7s linear infinite}.image-attachments-loading p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}@keyframes image-attachments-spin{to{transform:rotate(360deg)}}.image-attachments-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.image-attachments-add{width:72px;height:72px;flex-shrink:0;padding:0;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text-secondary);font-size:2rem;font-weight:300;line-height:0;cursor:pointer;transition:border-color .2s,color .2s;display:flex;align-items:center;justify-content:center}.image-attachments-add:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.image-attachments-add-icon{display:flex;align-items:center;justify-content:center;line-height:0}.image-attachments-add:disabled{opacity:.5;cursor:not-allowed}.image-attachments-hint{margin:0;font-size:.8125rem;color:var(--color-text-secondary)}.image-prompt-wrap .image-attachments-hint.prompt-description-hint{margin-top:.5rem}.image-attachments-list{display:flex;flex-wrap:wrap;gap:.5rem}.image-attachment-preview{position:relative;width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.image-attachment-preview img{width:100%;height:100%;object-fit:cover}.image-attachment-remove{position:absolute;top:2px;right:2px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.image-attachment-remove:hover{background:#000c}.image-controls{display:flex;flex-direction:column;gap:.5rem}.image-controls .image-section-title{margin-bottom:.25rem}.image-models{display:flex;flex-wrap:wrap;gap:.5rem}.image-chip{padding:.5rem 1rem;font-size:.875rem;font-family:inherit;border:1px solid var(--color-border);border-radius:999px;background:var(--color-input-bg);color:var(--color-text-secondary);cursor:pointer;transition:all .2s;box-shadow:var(--color-shadow-sm)}.image-chip:hover{border-color:var(--color-accent-hover);color:var(--color-accent-hover);background:#0088cc0a}.image-chip.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff;box-shadow:0 2px 6px #0088cc4d}.image-models-loading,.image-models-error{font-size:.875rem;color:var(--color-text-secondary)}.image-models-error{color:var(--color-accent-hover)}.image-generate-error{font-size:.875rem;color:var(--tg-theme-destructive-text-color, #c00);margin:0}.image-history{display:flex;flex-direction:column;min-height:0;flex:1;gap:.5rem}.image-history .image-section-title{margin-bottom:.25rem}.image-history .image-history-grid-scroll{flex:1;min-height:0}.image-history-grid-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;max-height:min(400px,50vh);min-height:120px;padding-bottom:1rem}@media (min-width: 768px){.image-history-grid-scroll{max-height:none;padding-bottom:1.5rem}}@media (max-width: 767px){.image-history .image-history-grid-scroll,.image-history-grid-scroll{flex:0 0 auto;max-height:none;overflow-y:visible;min-height:0}}.image-history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;align-content:start}.image-history-card{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--color-shadow-sm);background:var(--tg-theme-bg-color, #fff);aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s ease,border-color .2s ease}.image-history-card:not(.image-history-card-loading):hover{box-shadow:0 4px 14px #00000024;border-color:#0088cc40}.image-history-card-loading{background:radial-gradient(ellipse 50% 50% at 10% 20%,rgba(0,136,204,.2) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 90% 80%,rgba(99,102,241,.18) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 80% 20%,rgba(236,72,153,.15) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(16,185,129,.16) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(251,146,60,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 50% at 70% 50%,rgba(34,211,238,.14) 0%,transparent 50%),linear-gradient(180deg,#f8fafc,#f1f5f9);background-size:250% 250%;animation:image-gradient-shimmer 2.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes image-gradient-shimmer{0%{background-position:5% 15%,95% 5%,75% 90%,25% 70%,60% 40%,35% 85%,0 0}17%{background-position:90% 75%,10% 85%,15% 25%,80% 30%,20% 90%,85% 15%,0 0}33%{background-position:70% 5%,30% 50%,55% 70%,95% 55%,80% 20%,10% 60%,0 0}50%{background-position:15% 90%,75% 25%,90% 40%,5% 85%,45% 75%,70% 10%,0 0}67%{background-position:55% 35%,45% 95%,30% 60%,70% 15%,95% 45%,25% 80%,0 0}83%{background-position:85% 55%,20% 40%,65% 15%,40% 90%,10% 65%,55% 25%,0 0}to{background-position:5% 15%,95% 5%,75% 90%,25% 70%,60% 40%,35% 85%,0 0}}.image-history-card-image-wrap{width:100%;height:100%;padding:0;border:none;background:transparent;cursor:pointer;display:block;outline:none;-webkit-tap-highlight-color:transparent}.image-history-card-image-wrap:focus{outline:none}.image-history-card-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.image-history-card-error{padding:.75rem;display:flex;align-items:center;justify-content:center;text-align:center}.image-history-card-error p{margin:0;font-size:.8rem;color:var(--tg-theme-destructive-text-color, #c00);line-height:1.3}.image-history-card-loading-content{display:flex;align-items:center;justify-content:center;padding:.75rem;text-align:center}.image-history-card-loading-content p{margin:0;font-size:.75rem;color:var(--color-text)}.image-history-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;min-height:0}.image-history-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.6}.image-history-empty p{font-size:.9375rem;color:var(--color-text-secondary)}.image-history-empty-hint{font-size:.8125rem;margin-top:.25rem;opacity:.8}.image-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:1rem;cursor:pointer;overflow:hidden;overscroll-behavior:contain;animation:image-fullscreen-overlay-in .25s ease-out}@keyframes image-fullscreen-overlay-in{0%{opacity:0}to{opacity:1}}.image-fullscreen-content{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:100%;max-height:100%;user-select:none;-webkit-user-select:none;animation:image-fullscreen-content-in .35s cubic-bezier(.34,1.56,.64,1)}@keyframes image-fullscreen-content-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.image-fullscreen-img-wrap{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;cursor:default}.image-fullscreen-img-inner{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;margin:0 auto}.image-fullscreen-img-wrap-loading img{opacity:.5;transition:opacity .25s ease-out}.image-fullscreen-loading-strip{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.4rem 0 0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.image-fullscreen-loading-bar{width:100%;height:3px;background:#ffffff40;overflow:hidden}.image-fullscreen-loading-bar:after{content:"";display:block;height:100%;width:35%;background:#fff;animation:image-fullscreen-progress 1.5s ease-in-out infinite}@keyframes image-fullscreen-progress{0%{transform:translate(-100%)}50%{transform:translate(350%)}to{transform:translate(-100%)}}.image-fullscreen-loading-text{font-size:.8rem;color:#fffffff2}.image-fullscreen-img-inner img{display:block;margin:0 auto;max-width:100%;max-height:calc(100vh - 5rem);object-fit:contain;border-radius:var(--radius-sm);pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;user-drag:none}.image-fullscreen-nav{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;padding:0;border:none;background:#fff3;color:#fff;font-size:2rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;z-index:1001;transition:background .2s;outline:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.image-fullscreen-nav:focus{outline:none}.image-fullscreen-nav:hover{background:#ffffff59}.image-fullscreen-nav:active{background:#ffffff80}.image-fullscreen-nav-prev{left:1rem}.image-fullscreen-nav-next{right:1rem}@media (max-width: 767px){.image-fullscreen-nav{display:none}.image-fullscreen-overlay{touch-action:pan-x}}.image-fullscreen-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.image-fullscreen-edit{padding:.6rem 1.5rem;font-size:.95rem;font-weight:500;border:none;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer}.image-fullscreen-edit:hover:not(:disabled){background:var(--color-accent-hover)}.image-fullscreen-edit:disabled{opacity:.65;cursor:not-allowed;transform:none}.image-fullscreen-download{padding:.6rem 1.5rem;font-size:.95rem;font-weight:500;border:none;background:#22c55e;color:#fff;border-radius:var(--radius-sm);cursor:pointer}.image-fullscreen-download:hover:not(:disabled){background:#16a34a}.image-fullscreen-download:disabled{opacity:.65;cursor:not-allowed;transform:none}.image-fullscreen-open-original{padding:.6rem 1.5rem;font-size:.95rem;font-weight:500;border:none;background:#8b5cf6;color:#fff;border-radius:var(--radius-sm);cursor:pointer}.image-fullscreen-open-original:hover:not(:disabled){background:#7c3aed}.image-fullscreen-open-original:disabled{opacity:.65;cursor:not-allowed;transform:none}.image-fullscreen-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:none;background:#fff3;font-size:1.25rem;cursor:pointer;color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;z-index:1001}.image-fullscreen-close:hover{background:#ffffff59}@media (min-width: 768px){.image-fullscreen-img-inner img{max-width:75vw}.image-fullscreen-img-wrap{cursor:pointer}}.video-fullscreen-content{max-width:95vw;max-height:90vh}.video-fullscreen-element{display:block;max-width:100%;max-height:calc(100vh - 5rem);object-fit:contain;border-radius:var(--radius-sm)}:root{--color-bg: #f5f7fa;--color-text: #1a1a1a;--color-text-secondary: #6b7280;--color-accent: #0088cc;--color-accent-hover: #0077b3;--color-accent-soft: rgba(0, 136, 204, .1);--color-border: #e5e7eb;--color-input-bg: #ffffff;--color-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--color-shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--bar-padding-y: .375rem;--bar-padding-x: 1rem;--bar-btn-padding: .375rem .75rem;--bar-btn-font-size: .875rem;--app-max-width: 960px;--app-content-max-width: 720px;--app-form-max-width: 420px;--app-form-column-width: 420px}[data-theme=dark]{--color-bg: #111827;--color-text: #f3f4f6;--color-text-secondary: #9ca3af;--color-accent: #38bdf8;--color-accent-hover: #0ea5e9;--color-accent-soft: rgba(56, 189, 248, .16);--color-border: #374151;--color-input-bg: #1f2937;--color-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--color-shadow-md: 0 8px 24px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}.app-layout{display:flex;flex-direction:column;height:100%;max-width:640px;margin:0 auto;background:var(--color-bg)}.app-oauth-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem var(--bar-padding-x);font-size:.8125rem;background:#fef3c7;color:#92400e;border-bottom:1px solid #fcd34d}[data-theme=dark] .app-oauth-banner{background:#b4530938;color:#fcd34d;border-bottom-color:#fcd34d59}.app-oauth-banner button{flex-shrink:0;border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer;color:inherit;padding:0 .25rem}.app-content{flex:1;min-height:0;overflow:hidden;position:relative}.app-content-track{display:flex;height:100%;transition:transform .35s cubic-bezier(.4,0,.2,1)}.app-content-pane{flex:0 0 100%;width:100%;min-height:100%;overflow-y:auto;scrollbar-gutter:stable;padding:1rem}@media (min-width: 768px){:root{--app-max-width: 1080px;--app-content-max-width: 840px;--app-form-max-width: 480px;--app-form-column-width: 460px}body{display:flex;align-items:stretch;justify-content:center}.app-layout{max-width:var(--app-max-width);width:100%;height:100vh;overflow:hidden;min-height:480px;border-radius:12px}.app-content{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.app-content-pane{display:flex;flex-direction:column;min-height:0;padding:1.5rem 2rem}}@media (min-width: 1200px){:root{--app-max-width: 1300px;--app-content-max-width: 1120px;--app-form-max-width: 540px;--app-form-column-width: 520px}}@media (min-width: 1400px){:root{--app-max-width: 1480px;--app-content-max-width: 1320px;--app-form-max-width: 600px;--app-form-column-width: 580px}}
