.create-container{max-width:900px;margin:0 auto;padding:40px 24px}.create-header{text-align:center;margin-bottom:60px}.create-header h1{font-size:48px;font-weight:300;letter-spacing:-.5px;margin-bottom:16px;color:var(--text)}.create-subtitle{font-size:18px;color:var(--text-light);max-width:600px;margin:0 auto;line-height:1.6}.progress-steps{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:48px;padding:0 24px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:120px;position:relative}.progress-step:before{content:"";position:absolute;top:18px;left:50%;width:calc(100% + 12px);height:2px;background:var(--border);z-index:-1}.progress-step:last-child:before{display:none}.step-circle{width:36px;height:36px;border-radius:50%;background:var(--soft-gray);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-muted);transition:all .3s ease}.progress-step.active .step-circle{background:var(--accent);border-color:var(--accent);color:#fff}.progress-step.completed .step-circle{background:var(--forest);border-color:var(--forest);color:#fff}.step-label{font-size:12px;color:var(--text-muted);text-align:center;font-weight:500}.progress-step.active .step-label{color:var(--accent);font-weight:600}.form-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:48px;box-shadow:0 2px 8px #00000008}.form-step{min-height:400px}.form-step h2{font-size:32px;font-weight:300;margin-bottom:12px;color:var(--text)}.form-step-subtitle{font-size:16px;color:var(--text-light);margin-bottom:40px;line-height:1.6}.form-group{margin-bottom:28px}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}.form-group label .required{color:var(--error);margin-left:4px}.form-group .helper-text{font-size:13px;color:var(--text-muted);margin-top:6px;line-height:1.5}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea{width:100%;padding:12px 16px;font-size:15px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--text);font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-pale)}.form-group input.error,.form-group textarea.error{border-color:var(--error)}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.error-message{font-size:13px;color:var(--error);margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tag-input-wrapper{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--white);min-height:48px;display:flex;flex-wrap:wrap;gap:6px;transition:all .2s ease}.tag-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-pale)}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--accent-pale);color:var(--accent);border-radius:6px;font-size:14px;font-weight:500}.tag-remove{background:none;border:none;color:var(--accent);cursor:pointer;font-size:16px;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.tag-remove:hover{background:var(--accent-light);color:#fff}.tag-input{border:none;outline:none;padding:6px;font-size:15px;flex:1;min-width:120px;font-family:inherit}.tone-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.tone-option{border:2px solid var(--border);border-radius:12px;padding:24px;cursor:pointer;transition:all .2s ease;background:var(--white);text-align:left}.tone-option:hover{border-color:var(--accent-light);background:var(--accent-pale)}.tone-option.selected{border-color:var(--accent);background:var(--accent-pale)}.tone-option-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tone-icon{font-size:28px}.tone-title{font-size:18px;font-weight:600;color:var(--text)}.tone-description{font-size:14px;color:var(--text-light);line-height:1.5}.length-options{display:flex;gap:12px;margin-bottom:32px}.length-option{flex:1;border:2px solid var(--border);border-radius:10px;padding:20px;cursor:pointer;transition:all .2s ease;text-align:center;background:var(--white)}.length-option:hover{border-color:var(--accent-light);background:var(--accent-pale)}.length-option.selected{border-color:var(--accent);background:var(--accent-pale)}.length-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}.length-description{font-size:13px;color:var(--text-light)}.review-summary{background:var(--soft-gray);border-radius:10px;padding:32px;margin-bottom:32px}.review-section{margin-bottom:28px}.review-section:last-child{margin-bottom:0}.review-section h3{font-size:16px;font-weight:600;color:var(--accent);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.review-section p,.review-section ul{font-size:15px;color:var(--text);line-height:1.6;margin:0}.review-section ul{list-style:none;padding:0}.review-section li{padding:4px 0;display:flex;align-items:baseline}.review-section li:before{content:"•";color:var(--accent);font-weight:700;margin-right:10px}.generated-content{background:var(--soft-gray);border-radius:10px;padding:40px;margin-bottom:32px}.obituary-text{font-family:Crimson Pro,Georgia,serif;font-size:18px;line-height:1.8;color:var(--text);white-space:pre-wrap}.obituary-text[contenteditable=true]{outline:none;padding:16px;background:var(--white);border-radius:8px;border:2px solid var(--accent)}.edit-notice{font-size:13px;color:var(--text-muted);font-style:italic;margin-top:12px}.form-actions{display:flex;gap:12px;justify-content:space-between;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.btn{padding:14px 32px;font-size:16px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;font-family:inherit;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 4px 12px #8b6f4733}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--soft-gray);border-color:var(--text-light)}.btn-ghost{background:transparent;color:var(--text-light);padding:14px 24px}.btn-ghost:hover{color:var(--text);background:var(--soft-gray)}.btn-success{background:var(--forest);color:#fff}.btn-success:hover{background:var(--sage);transform:translateY(-1px);box-shadow:0 4px 12px #4a5f4f33}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{background:#fee;border:1px solid var(--error);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px}.error-banner span{font-size:20px}.error-banner p{flex:1;margin:0;color:var(--error);font-size:15px}.error-close{background:none;border:none;color:var(--error);cursor:pointer;font-size:18px;padding:4px 8px}.trust-indicators{display:flex;justify-content:center;gap:40px;margin-top:60px;padding:32px 24px;border-top:1px solid var(--border)}.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-light)}.trust-icon{font-size:20px}@media(max-width:768px){.create-container{padding:24px 16px}.create-header h1{font-size:36px}.create-subtitle{font-size:16px}.form-card{padding:32px 24px}.form-step h2{font-size:28px}.form-row,.tone-options{grid-template-columns:1fr}.length-options,.form-actions{flex-direction:column}.btn{width:100%;justify-content:center}.trust-indicators{flex-direction:column;align-items:center;gap:20px}.progress-steps{gap:8px;padding:0 8px}.progress-step{max-width:80px}.step-label{font-size:10px}.step-circle{width:32px;height:32px;font-size:12px}}@media(max-width:480px){.review-summary,.generated-content{padding:24px 20px}.obituary-text{font-size:16px}}
