.generate-story{max-width:640px;margin:0 auto;padding:3rem 1.5rem 6rem}.generate-story__container{background:var(--bg-primary);border-radius:18px;padding:0;color:var(--text-primary);border:1px solid var(--border-light);box-shadow:0 1px 3px rgba(0,0,0,.05);overflow:visible}.generate-story__header{text-align:center;padding:3rem 2rem 2rem;border-bottom:1px solid var(--border-light)}.generate-story__header h2{font-size:clamp(1.75rem,4vw,2.25rem);margin-bottom:.75rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.generate-story__header p{font-size:1.0625rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0}.generate-story__form{padding:2rem}.generate-story__input-group{margin-bottom:1.5rem}.generate-story__input-group label{display:block;font-weight:500;margin-bottom:.625rem;font-size:1rem;color:var(--text-primary);letter-spacing:-.01em}.generate-story__input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-light);border-radius:12px;font-size:1.0625rem;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.generate-story__input::placeholder{color:var(--text-tertiary)}.generate-story__input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary);box-shadow:0 0 0 4px var(--accent-bg)}.generate-story__input:disabled{opacity:.5;cursor:not-allowed}.generate-story__hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-tertiary);line-height:1.5}.generate-story__autocomplete{position:relative}.generate-story__suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:12px;margin-top:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:1000;max-height:280px;overflow-y:auto}.generate-story__suggestion{width:100%;padding:.875rem 1rem;text-align:left;border:none;background:transparent;color:var(--text-primary);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid var(--border-light);display:block}.generate-story__suggestion:last-child{border-bottom:none}.generate-story__suggestion--active,.generate-story__suggestion:hover{background:var(--bg-secondary)}.generate-story__suggestion--loading{cursor:default;color:var(--text-tertiary);text-align:center;font-style:italic}.generate-story__suggestion-content{display:flex;flex-direction:column;gap:.25rem}.generate-story__suggestion-name{font-weight:500;color:var(--text-primary)}.generate-story__suggestion--active .generate-story__suggestion-name{color:var(--accent)}.generate-story__suggestion-desc{font-size:.8125rem;color:var(--text-tertiary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-story__button{width:100%;padding:.875rem 1.5rem;background:var(--accent);color:white;border:none;border-radius:12px;font-size:1.0625rem;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition-fast);letter-spacing:-.01em}.generate-story__button:hover:not(:disabled){opacity:.9;transform:scale(1.01)}.generate-story__button:active:not(:disabled){transform:scale(.99)}.generate-story__button:disabled{opacity:.4;cursor:not-allowed;transform:none}.generate-story__error{background:var(--color-error-bg);color:var(--color-error);padding:.875rem 1rem;border-radius:var(--radius-md);margin-bottom:1.25rem;text-align:center;font-weight:500;font-size:.9375rem;border:1px solid rgba(255,59,48,.2)}.generate-story__progress{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;margin-bottom:1.25rem;text-align:center;border:1px solid var(--border-light)}.generate-story__spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(1turn)}}.generate-story__progress p{margin:0;font-weight:500;color:var(--text-secondary);font-size:.9375rem}.generate-story__info{background:var(--bg-secondary);padding:2rem;border-top:1px solid var(--border-light)}.generate-story__info h3{font-size:1.125rem;margin-bottom:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.generate-story__info ul{list-style:none;padding:0;margin:0 0 1.25rem}.generate-story__info li{padding:.625rem 0;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.generate-story__limits{margin:1.25rem 0 0;text-align:center;color:var(--text-tertiary);font-size:.875rem}.generate-story__credits{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.625rem 1.25rem;background:var(--bg-secondary);border-radius:100px;font-size:.9375rem;border:1px solid var(--border-light)}.generate-story__credits-label{color:var(--text-secondary);font-weight:400}.generate-story__credits-value{color:var(--accent);font-weight:600;font-size:1.125rem}.generate-story__auth-required{text-align:center;padding:3rem 2rem}.generate-story__icon{font-size:4rem;margin-bottom:1rem;filter:grayscale(.2)}.generate-story__auth-required h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.02em}.generate-story__auth-required p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.0625rem;line-height:1.6}.generate-story__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.generate-story__actions .generate-story__button{width:auto;min-width:140px}.generate-story__button--secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-light)}.generate-story__button--secondary:hover{background:var(--bg-secondary);border-color:var(--border);transform:scale(1.01);opacity:1}.generate-story__disclaimer{background:var(--color-warning-bg);border-left:4px solid var(--color-warning);border-radius:.5rem;padding:1.25rem 1.5rem;margin:1.5rem 0}.generate-story__disclaimer .disclaimer-label{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.generate-story__disclaimer .disclaimer-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.6;margin:0}.generate-story__buy-more{margin-top:1.5rem;text-align:center}.generate-story__buy-more a{color:var(--accent);text-decoration:none;font-weight:500;font-size:.9375rem;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.25rem}.generate-story__buy-more a:hover{opacity:.7}@media (max-width:768px){.generate-story{padding:2rem 1rem 5rem}.generate-story__header{padding:2rem 1.5rem 1.5rem}.generate-story__header h2{font-size:1.625rem}.generate-story__header p{font-size:1rem}.generate-story__form,.generate-story__info{padding:1.5rem}.generate-story__auth-required{padding:2rem 1.5rem}}@media (max-width:480px){.generate-story__actions{flex-direction:column}.generate-story__actions .generate-story__button{width:100%}}.generate-story__preview{margin-top:3rem;padding:2rem;background:var(--bg-primary);border:2px solid var(--accent);border-radius:18px;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.generate-story__preview-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-light)}.generate-story__preview-header h2{font-size:1.5rem;color:var(--accent);margin-bottom:.75rem;font-weight:600;letter-spacing:-.02em}.generate-story__preview-status{color:var(--text-secondary);font-size:.9375rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem}.generate-story__preview-image{text-align:center;margin-bottom:2rem}.generate-story__preview-image img{border:2px solid var(--border-light);box-shadow:0 4px 12px rgba(0,0,0,.1);animation:imageAppear .6s ease-out}@keyframes imageAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.generate-story__preview-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;text-align:center;letter-spacing:-.02em;line-height:1.2}.generate-story__preview-description{font-size:1.125rem;color:var(--text-secondary);text-align:center;margin-bottom:1.5rem;line-height:1.6;font-style:italic}.generate-story__preview-meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.category-badge{background:var(--accent);color:white;border-radius:20px;font-size:.875rem;text-transform:capitalize}.category-badge,.tag-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;font-weight:500}.tag-badge{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:20px;font-size:.8125rem}.generate-story__preview-content{font-size:1.0625rem;line-height:1.8;color:var(--text-primary);animation:contentFadeIn .7s ease-in}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.generate-story__preview-content h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:2rem 0 1rem;letter-spacing:-.01em}.generate-story__preview-content p{margin-bottom:1.25rem;line-height:1.8}.generate-story__profile-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.generate-story__profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.generate-story__profile-header label{font-weight:500;font-size:1rem;color:var(--text-primary);margin-bottom:0}.generate-story__create-profile-btn{background:var(--accent)!important;color:white!important;border:none!important;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;transform:none!important;opacity:1!important;width:auto!important}.generate-story__create-profile-btn:hover:not(:disabled){background:var(--accent-dark)!important;color:white!important;box-shadow:0 2px 8px rgba(0,0,0,.15);transform:none!important;opacity:1!important}.generate-story__create-profile-btn:disabled{opacity:.5;cursor:not-allowed}.generate-story__profile-hint{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.generate-story__profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.generate-story__profile-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid var(--border);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:var(--transition-fast);position:relative}.generate-story__profile-card:hover{border-color:var(--accent);background:var(--bg-card);transform:translateY(-2px)}.generate-story__profile-card.selected{border-color:var(--accent);background:var(--bg-accent-subtle);box-shadow:0 0 0 3px var(--accent-bg)}.generate-story__profile-card input[type=checkbox]{position:absolute;top:.5rem;right:.5rem;width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.generate-story__profile-icon{font-size:2rem;line-height:1}.generate-story__profile-name{font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:center;word-break:break-word}.generate-story__profile-template{font-size:.75rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:6px}.generate-story__no-profiles{margin-top:2rem;padding:1.5rem;background:var(--bg-accent-subtle);border:1px solid var(--accent-light);border-radius:12px;text-align:center}.generate-story__no-profiles p{margin-bottom:1rem;color:var(--text-secondary);font-size:.9375rem}.generate-story__no-profiles .generate-story__create-profile-btn{display:inline-block;visibility:visible;opacity:1}@media (max-width:768px){.generate-story__preview{padding:1.5rem;margin-top:2rem}.generate-story__preview-title{font-size:1.5rem}.generate-story__preview-content,.generate-story__preview-description{font-size:1rem}.generate-story__profile-header{flex-direction:column;align-items:flex-start;gap:.75rem}.generate-story__profiles-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.generate-story__profile-card{padding:.75rem}}.generate-story__steps-indicator{display:flex;align-items:center;justify-content:center;padding:1.5rem 2rem 0;gap:0}.step-dot{display:flex;flex-direction:column;align-items:center;gap:.375rem;background:none;border:none;cursor:default;padding:0}.step-dot.completed{cursor:pointer}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:.8125rem;font-weight:600;background:var(--bg-secondary);color:var(--text-tertiary);border:2px solid var(--border-light);transition:all .2s ease}.step-dot.active .step-number{background:var(--accent);color:white;border-color:var(--accent)}.step-dot.completed .step-number{background:var(--color-success,#34c759);color:white;border-color:var(--color-success,#34c759)}.step-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500}.step-dot.active .step-label{color:var(--accent)}.step-dot.completed .step-label{color:var(--color-success,#34c759)}.step-line{width:60px;height:2px;background:var(--border-light);margin:0 .5rem 1.25rem;transition:background .2s ease}.step-line.active{background:var(--color-success,#34c759)}.generate-story__step{padding:2rem}.generate-story__step-header{text-align:center;margin-bottom:2rem}.generate-story__step-icon{font-size:2.5rem;margin-bottom:.75rem}.generate-story__step-header h3{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin-bottom:.375rem;letter-spacing:-.015em}.generate-story__step-header p{font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.generate-story__step-subject-preview{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:10px;margin-bottom:1.5rem;border:1px solid var(--border-light);font-size:.9375rem}.subject-preview-label{color:var(--text-tertiary);font-size:.8125rem;flex-shrink:0}.subject-preview-value{font-weight:600;color:var(--text-primary);flex:1 1}.subject-preview-edit{background:none;border:none;color:var(--accent);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .15s}.subject-preview-edit:hover{background:var(--accent-bg,rgba(0,112,243,.08))}.optional-tag{color:var(--text-tertiary);font-weight:400;font-size:.8125rem}.generate-story__step-actions{display:flex;gap:.75rem;margin-top:1.5rem}.generate-story__step-actions .generate-story__button{flex:1 1}.generate-story__button--create{background:var(--accent)!important;color:white!important;font-size:1.125rem;padding:1rem 1.5rem}.generate-story__button--create:hover:not(:disabled){opacity:.9;transform:scale(.98)}.generate-story__review-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:14px;overflow:hidden;margin-bottom:1rem}.review-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.review-row:last-child{border-bottom:none}.review-row--highlight{background:var(--accent-bg,rgba(0,112,243,.04))}.review-label{font-size:.8125rem;color:var(--text-tertiary);font-weight:500;flex-shrink:0;min-width:80px}.review-value{flex:1 1;font-size:.9375rem;color:var(--text-primary);font-weight:500}.review-edit{background:none;border:none;color:var(--accent);font-size:.8125rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .15s;flex-shrink:0}.review-edit:hover{background:var(--accent-bg,rgba(0,112,243,.08))}.generate-story__disclaimer-inline{text-align:center;padding:.75rem;color:var(--text-tertiary);font-size:.8125rem}@media (max-width:480px){.generate-story__steps-indicator{padding:1rem 1rem 0}.step-line{width:32px}.step-number{width:28px;height:28px;font-size:.75rem}.step-label{font-size:.6875rem}.generate-story__step{padding:1.5rem 1.25rem}.generate-story__step-actions{flex-direction:column}.review-row{flex-wrap:wrap}.review-label{min-width:auto}}