*{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;background-color:#667eea}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:transparent;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;color:#1a1a2e;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.container{max-width:600px;margin:0 auto;padding:2rem 1rem;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column}.card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 40px #00000026}h1{font-size:1.75rem;font-weight:600;margin-bottom:.5rem;color:#1a1a2e}.subtitle{color:#666;margin-bottom:1.5rem}textarea{width:100%;min-height:200px;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:1rem;resize:vertical;transition:border-color .2s}textarea:focus{outline:none;border-color:#667eea}button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s;width:100%;margin-top:1rem}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #667eea66}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:#f0f0f0;color:#333}button.secondary:hover:not(:disabled){background:#e0e0e0;box-shadow:none}.button-group{display:flex;gap:1rem;margin-top:1rem}.button-group button{margin-top:0}.sanitized-preview{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin:1rem 0;border-left:4px solid #667eea}.sanitized-preview h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:#667eea;margin-bottom:.75rem}.share-link{background:#f0f0f0;padding:1rem;border-radius:8px;font-family:monospace;word-break:break-all;margin:1rem 0}.name-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}@media (min-width: 500px){.name-fields{flex-direction:row}}.name-fields input{flex:1;min-width:0;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit}.name-fields input:focus{outline:none;border-color:#667eea}.relationship-field{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;margin-bottom:1rem}.relationship-field:focus{outline:none;border-color:#667eea}.chat-container{flex:1;display:flex;flex-direction:column;max-height:calc(100vh - 6rem)}.messages{flex:1;overflow-y:auto;padding:1rem 0;min-height:0}.message{margin-bottom:1rem;padding:1rem;border-radius:12px;max-width:85%}.message.assistant{background:#f0f4ff;margin-right:auto}.message.assistant p{margin:0 0 .75rem}.message.assistant p:last-child{margin-bottom:0}.message.assistant ul,.message.assistant ol{margin:.5rem 0;padding-left:1.5rem}.message.assistant li{margin-bottom:.25rem}.message.assistant code{background:#667eea26;padding:.15rem .4rem;border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.875em}.message.assistant pre{background:#1a1a2e;color:#f0f0f0;padding:1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0}.message.assistant pre code{background:none;padding:0;color:inherit}.message.assistant blockquote{border-left:3px solid #667eea;margin:.75rem 0;padding-left:1rem;color:#555}.message.assistant h1,.message.assistant h2,.message.assistant h3{margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.message.assistant h1:first-child,.message.assistant h2:first-child,.message.assistant h3:first-child{margin-top:0}.message.user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-left:auto}.chat-input{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #e0e0e0;margin-top:auto}.chat-input input{flex:1;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem}.chat-input input:focus{outline:none;border-color:#667eea}.chat-input button{width:auto;margin-top:0;padding:1rem 1.5rem}.welcome-message{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin:1rem 0;text-align:center}.welcome-message p{color:#555;line-height:1.6;margin:0 0 .75rem}.welcome-message p:last-child{margin-bottom:0;color:#667eea;font-size:.95rem}.format-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;justify-content:center}.format-chip{background:#f0f4ff;border:1px solid #667eea;color:#667eea;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;cursor:pointer;transition:all .2s;width:auto;margin-top:0}.format-chip:hover{background:#667eea;color:#fff}.loading{display:flex;align-items:center;gap:.5rem;color:#666}.loading:after{content:"";width:16px;height:16px;border:2px solid #667eea;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:#fee;color:#c00;padding:1rem;border-radius:8px;margin:1rem 0}.success{background:#efe;color:#060;padding:1rem;border-radius:8px;margin:1rem 0}.char-counter{margin-top:.5rem;display:flex;align-items:center;gap:.75rem}.char-counter-bar{flex:1;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.char-counter-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .2s ease}.char-counter-text{font-size:.75rem;color:#888;white-space:nowrap}.char-counter-text.complete{color:#28a745}.sbi-indicator{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.sbi-label{font-size:.75rem;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.05em}.sbi-dots{display:flex;gap:.5rem}.sbi-dot{width:24px;height:24px;border-radius:50%;background:#e0e0e0;color:#999;font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sbi-dot.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.sbi-hint{font-size:.8rem;color:#666;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.quality-modal{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.quality-loading{text-align:center;padding:2rem 0}.quality-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.quality-header h2{font-size:1.25rem;margin:0}.quality-score{font-size:1.5rem;font-weight:700;padding:.5rem 1rem;border-radius:12px}.quality-score.score-0{background:#fee;color:#c00}.quality-score.score-1{background:#fff3cd;color:#856404}.quality-score.score-2,.quality-score.score-3{background:#d4edda;color:#155724}.quality-elements{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.quality-element{padding:1rem;border-radius:10px;background:#f8f9fa}.quality-element.present{border-left:3px solid #28a745}.quality-element.missing{border-left:3px solid #dc3545}.element-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.element-indicator{font-weight:700}.element-indicator.present{color:#28a745}.element-indicator.missing{color:#dc3545}.element-name{font-weight:600;text-transform:capitalize}.element-detail{font-size:.9rem;color:#555;margin:0}.quality-suggestions{background:#f0f4ff;padding:1rem;border-radius:10px;margin-bottom:1.5rem}.quality-suggestions h3{font-size:.9rem;margin:0 0 .75rem;color:#667eea}.quality-suggestions ul{margin:0;padding-left:1.25rem}.quality-suggestions li{font-size:.9rem;color:#555;margin-bottom:.25rem}.quality-actions{display:flex;gap:1rem}.quality-actions button{flex:1;margin-top:0}.mode-toggle{display:flex;gap:0;margin-bottom:1rem;background:#f0f0f0;border-radius:12px;padding:4px}.mode-btn{flex:1;background:transparent;color:#666;padding:.75rem 1rem;border-radius:10px;font-size:.9rem;margin:0;transition:all .2s}.mode-btn:hover:not(:disabled){transform:none;box-shadow:none;color:#333}.mode-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0000001a}.guided-form{margin-bottom:1rem}.guided-progress{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.guided-step-indicator{display:flex;flex-direction:column;align-items:center;cursor:pointer}.guided-step-dot{width:32px;height:32px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all .2s}.guided-step-indicator:hover .guided-step-dot{background:#d0d0d0}.guided-step-indicator.active .guided-step-dot{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.guided-step-indicator.completed .guided-step-dot{background:#28a745;color:#fff}.guided-step-indicator.completed.active .guided-step-dot{background:linear-gradient(135deg,#667eea,#764ba2)}.guided-step-label{margin-top:.35rem;font-size:.7rem;color:#666;text-align:center}.guided-step-indicator.active .guided-step-label{color:#667eea;font-weight:500}.guided-step{margin-bottom:1rem}.guided-step h3{font-size:1.1rem;margin-bottom:.5rem;color:#1a1a2e}.guided-prompt{color:#666;margin-bottom:.75rem;font-size:.95rem}.guided-step textarea{min-height:120px}.guided-nav{display:flex;gap:1rem}.guided-nav button{flex:1;margin-top:0}.how-it-works{margin-bottom:1.5rem}.how-it-works-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:auto;padding:.5rem 1rem;margin:0 auto;background:transparent;color:#667eea;font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:color .2s}.how-it-works-toggle:hover:not(:disabled){color:#764ba2;transform:none;box-shadow:none}.how-it-works-chevron{transition:transform .3s ease}.how-it-works-chevron.expanded{transform:rotate(180deg)}.how-it-works-content{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;background:#f8f9fa;border-radius:12px;margin-top:0}.how-it-works-content.expanded{max-height:500px;opacity:1;padding:1.25rem;margin-top:.75rem}.how-it-works-heading{font-weight:600;color:#1a1a2e;margin-bottom:.75rem}.how-it-works-content p{color:#555;font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.how-it-works-content p:last-child{margin-bottom:0}.how-it-works-content em{color:#667eea;font-style:italic}
