.splash-screen{align-items:center;background:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100vw;z-index:9999}.golden-light{background:radial-gradient(circle at center,#fff 0,#fff8eb 30%,#ffdfa8e6 60%,#ffc161b3 80%,#ffa63066 100%);border-radius:50%;height:100vw;pointer-events:none;position:absolute;width:100vw}.splash-logo-container{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;position:relative;z-index:2}.splash-tree{background:#0000;height:auto;max-width:300px;object-fit:contain;width:50vw}.splash-legacy-text{font-size:clamp(48px,10vw,120px);font-weight:400;letter-spacing:12px;margin:0;text-transform:uppercase}.splash-legacy-text,.splash-tagline{color:#5a6b5d;font-family:Georgia,serif}.splash-tagline{font-size:28px;font-style:italic;letter-spacing:2px;margin-top:30px;position:relative;text-align:center;z-index:2}.splash-skip{background:#5a6b5d1a;border:1px solid #5a6b5d4d;border-radius:20px;bottom:30px;color:#5a6b5d;cursor:pointer;font-family:Georgia,serif;font-size:14px;padding:10px 24px;position:absolute;right:30px;transition:all .2s ease;z-index:3}.splash-skip:hover{background:#5a6b5d33;transform:scale(1.05)}@media (max-width:768px){.splash-tree{max-width:260px;width:55vw}.splash-legacy-text{font-size:14vw;letter-spacing:8px}.splash-tagline{font-size:24px;margin-top:24px}}@media (max-width:480px){.splash-tree{max-width:220px;width:60vw}.splash-legacy-text{font-size:13vw;letter-spacing:6px}.splash-tagline{font-size:20px;letter-spacing:1px;margin-top:20px}.splash-skip{bottom:20px;font-size:13px;padding:8px 20px;right:20px}}.login-page{align-items:center;background:linear-gradient(135deg,#fdfbf7,#f5f2eb);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-md)}.login-container{max-width:440px;width:100%}.login-content{width:100%}.brand h1{color:var(--text-primary);font-size:36px;font-weight:600;letter-spacing:-1px;margin-bottom:var(--spacing-xs)}.login-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.login-card h2{font-size:24px;margin-bottom:var(--spacing-xs)}.subtitle{font-size:14px;margin-bottom:0}.form-group{margin-bottom:var(--spacing-md)}.form-group label{margin-bottom:var(--spacing-xs)}.btn-full{font-size:16px;margin-top:var(--spacing-sm);padding:14px}.error-message{background-color:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-sm);color:var(--error);font-size:14px;margin-bottom:var(--spacing-md)}.divider{margin:var(--spacing-lg) 0;position:relative;text-align:center}.divider:before{background-color:var(--soft-gray);content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.divider span{background:#fff;color:var(--text-secondary);font-size:13px;padding:0 var(--spacing-sm);position:relative}.signup-prompt{color:var(--text-secondary);font-size:14px;margin:0 0 var(--spacing-sm) 0;text-align:center}.create-account-btn{display:block;margin-top:0!important;text-align:center;text-decoration:none}.link{color:var(--primary);font-weight:500;text-decoration:none;transition:color .2s ease}.link:hover{color:var(--primary-hover);text-decoration:underline}.footer-text{color:var(--warm-gray);line-height:1.6;margin-left:auto;margin-right:auto;margin-top:var(--spacing-lg);max-width:380px}@media (max-width:768px){.login-page{padding:var(--spacing-sm)}.brand h1{font-size:32px}.login-card{padding:var(--spacing-lg)}}.signup-page{align-items:center;background:linear-gradient(135deg,#fdfbf7,#f5f2eb);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-md)}.signup-container{max-width:440px;width:100%}.signup-content{width:100%}.brand{margin-bottom:var(--spacing-xl);text-align:center}.brand .logo{height:auto;margin-bottom:var(--spacing-xs);width:300px}.tagline{color:var(--text-secondary);font-size:15px;font-weight:400}.signup-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.signup-card h2{font-size:24px;margin-bottom:var(--spacing-xs)}.login-prompt{color:var(--text-secondary);font-size:14px;margin:0;text-align:center}@media (max-width:768px){.signup-page{padding:var(--spacing-sm)}.signup-card{padding:var(--spacing-lg)}}.signup-card .form-group{margin-bottom:var(--spacing-md)}.signup-card .form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:var(--spacing-xs)}.signup-card input,.signup-card input[type=date],.signup-card input[type=email],.signup-card input[type=password],.signup-card input[type=text]{-webkit-text-fill-color:var(--text-primary)!important;background-color:#fff!important;border:1px solid #e8e6e1;border-radius:8px;color:var(--text-primary)!important;font-family:inherit;font-size:15px;opacity:1;padding:12px 16px;transition:all .2s ease;width:100%}.signup-card input:focus{border-color:#4a90a4;box-shadow:0 0 0 3px #4a90a41a;outline:none}.signup-card input::placeholder{-webkit-text-fill-color:#a39e93!important;color:#a39e93!important;opacity:1}.signup-card input[type=date]{-webkit-text-fill-color:var(--text-primary)!important;-webkit-appearance:none;appearance:none;color:var(--text-primary)!important}.signup-card input:-webkit-autofill,.signup-card input:-webkit-autofill:focus,.signup-card input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary)!important;background-color:#fff!important;box-shadow:inset 0 0 0 1000px #fff!important}.signup-card input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.signup-card input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.agreement-section{background:#fff;border:1px solid #e8e6e1;border-radius:var(--radius-md);margin:var(--spacing-lg) 0;overflow:hidden}.agreement-title{background:#f5f2eb;border-bottom:1px solid #e8e6e1;color:var(--text-primary);font-size:16px;font-weight:600;margin:0;padding:12px 16px}.scrollable-agreement{background:#fdfbf7;max-height:180px;overflow-y:auto;padding:16px}.scrollable-agreement,.scrollable-agreement p{color:var(--text-secondary);font-size:13px;line-height:1.6}.scrollable-agreement p{margin:0 0 12px}.scrollable-agreement p:last-child{margin-bottom:0}.scrollable-agreement h4{color:var(--text-primary);font-size:13px;font-weight:600;margin:16px 0 8px}.scrollable-agreement h4:first-child{margin-top:0}.scrollable-agreement ul{margin:8px 0 12px;padding-left:20px}.scrollable-agreement li{color:var(--text-secondary);font-size:13px;line-height:1.5;margin-bottom:4px}.scrollable-agreement .terms-date{border-top:1px solid #e8e6e1;color:#a39e93;font-size:12px;margin-top:16px;padding-top:12px}.scroll-indicator{background:linear-gradient(180deg,#0000,#fdfbf7);color:#4a90a4;font-size:12px;font-weight:500;margin-top:-30px;padding:8px;pointer-events:none;position:relative;text-align:center;z-index:1}.inline-checkbox{align-items:center;background:#fff;border-top:1px solid #e8e6e1;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px;transition:all .2s ease}.inline-checkbox.disabled{background:#f5f2eb;cursor:not-allowed;opacity:.5}.inline-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.inline-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.inline-checkbox span{flex:1 1}.terms-group{background:var(--soft-gray);border-radius:var(--radius-sm);margin:var(--spacing-md) 0;padding:var(--spacing-md)}.checkbox-label{align-items:flex-start;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:var(--spacing-sm);line-height:1.5}.checkbox-label span{flex:1 1}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-top:3px;width:18px}.link-button{font-size:inherit}.link-button:hover{color:var(--accent)}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80vh;max-width:600px}.modal-header h2{font-size:22px}.modal-close{align-items:center;background:none;border-radius:4px;color:var(--text-secondary);display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:background .2s ease;width:32px}.modal-close:hover{background:var(--soft-gray)}.modal-body{flex:1 1;overflow-y:auto}.modal-body h3{color:var(--text-primary);font-size:16px;margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg)}.modal-body h3:first-child{margin-top:0}.modal-body p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:var(--spacing-md)}.modal-body ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.modal-body li{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:var(--spacing-xs)}.terms-footer{border-top:1px solid var(--soft-gray);font-size:13px!important;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.modal-footer{gap:var(--spacing-sm)}.language-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23666' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;border:1px solid #e8e6e1;border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:15px;padding:12px 40px 12px 16px;transition:all .2s ease;width:100%}.language-select:focus{border-color:#4a90a4;box-shadow:0 0 0 3px #4a90a41a;outline:none}.language-select option{font-size:15px;padding:8px}.role-selection-page{align-items:center;background:linear-gradient(135deg,#fdfbf7,#f5f2eb);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-md)}.role-selection-container{max-width:600px;text-align:center;width:100%}.role-selection-page .brand{margin-bottom:var(--spacing-lg)}.role-selection-page .brand .logo{height:auto;width:200px}.greeting{margin-bottom:var(--spacing-xl)}.greeting h1{color:var(--text-primary);font-size:2rem;font-weight:400;margin:0 0 .5rem}.greeting p{color:var(--text-secondary);font-size:1.1rem;margin:0}.role-cards{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-lg)}.role-card{align-items:center;background:#fff;border:2px solid var(--soft-gray);border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s ease}.role-card:hover{box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.role-card:active{transform:translateY(-2px)}.create-card:hover{background:linear-gradient(180deg,#fff,#4a90a40d);border-color:var(--primary)}.create-card:hover .role-icon{background:linear-gradient(135deg,#4a90a4,#3a7a8e);color:#fff}.connect-card:hover{background:linear-gradient(180deg,#fff,#d4af370d);border-color:#d4af37}.connect-card:hover .role-icon{background:linear-gradient(135deg,#d4af37,#b8942e);color:#fff}.role-icon{align-items:center;background:var(--soft-gray);border-radius:50%;color:var(--text-secondary);display:flex;height:64px;justify-content:center;transition:all .3s ease;width:64px}.role-icon svg{height:32px;width:32px}.role-card h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:.5rem 0 0}.role-card>p{color:var(--text-secondary);font-size:.95rem;line-height:1.4;margin:0}.role-details{border-top:1px solid var(--soft-gray);display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding-top:1rem;width:100%}.role-details span{color:var(--text-secondary);font-size:.85rem}.role-badge{align-items:center;background:#7fa98426;border-radius:20px;color:var(--success);display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;margin-top:.75rem;padding:.35rem .75rem}.badge-dot{background:var(--success);border-radius:50%;height:6px;width:6px}.remember-note{color:var(--warm-gray);font-size:.9rem;margin:0}.role-selection-page .spinner{animation:spin 1s linear infinite;border:3px solid var(--soft-gray);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@media (max-width:600px){.role-selection-container{padding:0 var(--spacing-sm)}.role-cards{gap:var(--spacing-md);grid-template-columns:1fr}.greeting h1{font-size:1.75rem}.role-card{padding:1.5rem 1rem}.role-icon{height:56px;width:56px}.role-icon svg{height:28px;width:28px}.role-card h2{font-size:1.25rem}}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.confirm-dialog{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:400px;overflow:hidden;width:100%}.confirm-dialog-header{padding:20px 24px 12px}.confirm-dialog-header h3{color:#2d3748;font-size:18px;font-weight:600;margin:0}.confirm-dialog.danger .confirm-dialog-header h3{color:#c53030}.confirm-dialog.warning .confirm-dialog-header h3{color:#c05621}.confirm-dialog-body{padding:0 24px 20px}.confirm-dialog-body p{color:#4a5568;font-size:15px;line-height:1.6;margin:0}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.confirm-dialog-btn{border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;min-width:90px;padding:10px 20px;transition:all .2s ease}.cancel-btn{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.cancel-btn:hover{background:#edf2f7;border-color:#cbd5e0}.confirm-btn{background:#4a90a4;border:1px solid #4a90a4;color:#fff}.confirm-btn:hover{background:#3d7a8c;border-color:#3d7a8c}.confirm-btn.danger{background:#c53030;border-color:#c53030}.confirm-btn.danger:hover{background:#9b2c2c;border-color:#9b2c2c}.confirm-btn.warning{background:#c05621;border-color:#c05621}.confirm-btn.warning:hover{background:#9c4221;border-color:#9c4221}@media (max-width:480px){.confirm-dialog{margin:0 16px;max-width:100%}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-btn{width:100%}}.dashboard{background-color:var(--cream);min-height:100vh;padding-top:env(safe-area-inset-top)}.dashboard-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:max(2px,env(safe-area-inset-top)) 0 2px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.brand-small{align-items:center;display:flex;gap:var(--spacing-md)}.brand-logo-section{display:flex;flex-direction:column;gap:2px}.brand-logo-section .header-logo{height:auto;width:180px}.brand-small h2{color:#d4af37;font-size:30px;font-weight:700;letter-spacing:-.5px;margin:0}.brand-tagline{color:var(--text-secondary);font-size:11px;font-style:italic;letter-spacing:.3px;margin:0}.hamburger-menu{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:8px;transition:background .2s ease}.hamburger-menu:hover{background:var(--soft-gray)}.dropdown-menu-overlay{animation:fadeIn .2s ease;background:#0003;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.dropdown-menu{animation:slideDown .2s ease;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:60px;min-width:220px;padding:var(--spacing-xs);position:fixed;top:max(60px,calc(env(safe-area-inset-top) + 50px));z-index:201}.menu-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background .2s ease;width:100%}.menu-item:hover{background:var(--soft-gray)}.menu-icon{font-size:18px}.menu-divider{background:var(--soft-gray);height:1px;margin:var(--spacing-xs) 0}.view-switcher{background:#d4af371a;color:#b8942e;font-weight:500}.view-switcher:hover{background:#d4af3733}.menu-item-danger{color:var(--error)}.header-actions{align-items:center;display:flex;gap:var(--spacing-md)}.user-name{color:var(--text-secondary);font-size:14px}.btn-sm{font-size:14px;padding:8px 16px}.dashboard-main{padding:var(--spacing-xl) 0}.dashboard-section{margin-bottom:var(--spacing-xl)}.dashboard-section.no-header{margin-top:0}.new-replica-row{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-bottom:var(--spacing-md);position:relative}.section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.section-header h1{margin-bottom:var(--spacing-xs)}.dashboard-title{align-items:center;color:#6b7280;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:300;gap:8px;letter-spacing:.5px}.tree-icon{height:40px;vertical-align:middle;width:auto}.user-first-name{color:#6b7280;font-weight:300;letter-spacing:.5px}.section-header p{font-size:15px;margin:0}.empty-state{background:#fff;padding:var(--spacing-xl) var(--spacing-lg)}.empty-icon{font-size:48px;margin-bottom:var(--spacing-md)}.empty-state h3{margin-bottom:var(--spacing-xs)}.empty-state p{margin:0 auto var(--spacing-md);max-width:400px}.replicas-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.replica-card{background:#fff;border:1px solid #0000;border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all .2s ease}.replica-card:hover{border-color:var(--soft-gray);box-shadow:var(--shadow-md);transform:translateY(-2px)}.replica-header{align-items:flex-start;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.replica-avatar-container{flex-shrink:0;height:56px;position:relative;width:56px}.replica-avatar{background:linear-gradient(135deg,var(--primary),var(--accent));font-size:24px;height:56px;width:56px}.replica-avatar-image{border:2px solid var(--soft-gray);border-radius:50%;height:56px;object-fit:cover;width:56px}.avatar-upload-btn{align-items:center;background:#fff;border:2px solid var(--soft-gray);border-radius:50%;bottom:-4px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:-4px;transition:all .2s ease;width:24px}.avatar-upload-btn:hover{background:var(--primary);border-color:var(--primary);transform:scale(1.1)}.replica-avatar-family{background:linear-gradient(135deg,var(--accent),#d4a68c)}.replica-info{flex:1 1;min-width:0}.replica-info h3{font-size:18px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replica-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.persona-badge{background:#4a90a41a;border:1px solid #4a90a4;border:1px solid var(--persona-color,#4a90a4);border-radius:12px;color:#4a90a4;color:var(--persona-color,#4a90a4);font-size:11px;gap:4px;padding:2px 8px}.persona-badge svg{flex-shrink:0}.creator-name{color:var(--text-secondary);font-size:13px;margin:0}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px;text-transform:capitalize}.badge-success{background-color:#e8f5e9;color:#2e7d32}.badge-warning{background-color:#fff4e5;color:#e65100}.badge-info{background-color:#e3f2fd;color:#1565c0}.badge-secondary{background-color:var(--soft-gray);color:var(--text-secondary)}.replica-stats-container{align-items:stretch;border-bottom:1px solid var(--soft-gray);border-top:1px solid var(--soft-gray);display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-md) 0}.replica-topics{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);min-width:0}.topic-item{flex-direction:column;gap:2px}.topic-label{color:#888;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.topic-value{align-items:center;color:var(--text-primary);display:flex;font-size:13px;font-weight:500;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topic-icon{flex-shrink:0;font-size:14px}.topic-placeholder{color:var(--text-secondary);font-style:italic}.current-topic .topic-value{color:var(--primary)}.next-topic .topic-value{color:var(--text-secondary)}.replica-stats{border-left:1px solid var(--soft-gray);display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center;min-width:100px;padding-left:var(--spacing-md)}.stat{align-items:flex-end!important;display:flex!important;flex-direction:column!important;text-align:right!important}.replica-stats .stat .stat-label{color:#888!important;display:block!important;font-size:10px!important;font-weight:600!important;letter-spacing:.5px!important;margin-bottom:0!important;order:1!important;text-transform:uppercase!important}.replica-stats .stat .stat-value{color:var(--primary)!important;display:block!important;font-size:18px!important;font-weight:700!important;line-height:1.2!important;order:2!important}@media (max-width:400px){.replica-stats-container{flex-direction:column}.replica-stats{border-left:none;border-top:1px solid var(--soft-gray);flex-direction:row;justify-content:space-around;margin-top:var(--spacing-sm);padding-left:0;padding-top:var(--spacing-sm)}.stat{align-items:center!important;text-align:center!important}}.replica-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.meta-item{background-color:var(--warm-white);border-radius:12px;color:var(--text-secondary);font-size:13px;padding:4px 12px;text-transform:capitalize}.replica-actions{margin-top:auto}@media (max-width:1024px){.replicas-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.dashboard-main{padding:var(--spacing-lg) 0}.section-header{flex-direction:column;gap:var(--spacing-md)}.section-header button{width:100%}.replicas-grid{grid-template-columns:1fr}.header-actions{gap:var(--spacing-sm)}.user-name{display:none}}.progress-container{margin-bottom:var(--spacing-md)}.progress-bar{background-color:var(--soft-gray);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:4px;min-width:2px;transition:width .5s ease}.progress-text{font-size:12px}.profile-btn{display:flex;gap:8px}.profile-btn,.profile-status-badge{align-items:center;justify-content:center}.profile-status-badge{border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;min-width:36px;padding:2px 8px}.profile-status-badge.incomplete{background:#ffffffe6;color:#e65100}.profile-status-badge.complete{background:#ffffffe6;color:var(--primary)}.new-replica-container{align-items:center;display:flex;gap:8px;position:relative}.info-icon-btn{align-items:center;background:#0000;border:1.5px solid var(--text-secondary);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-family:Georgia,serif;font-size:12px;font-style:italic;font-weight:600;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.info-icon-btn:hover{background:var(--text-secondary);color:#fff}.info-tooltip{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:16px;right:0;text-align:left;top:calc(100% + 10px);width:320px}.info-tooltip:before{border-bottom:8px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;content:"";height:0;position:absolute;right:20px;top:-8px;width:0}.tooltip-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0;position:absolute;right:8px;top:8px}.info-tooltip h4,.tooltip-close:hover{color:var(--text-primary)}.info-tooltip h4{font-size:14px;margin:0 0 8px}.info-tooltip p{margin:0 0 10px}.info-tooltip p,.info-tooltip ul{color:var(--text-secondary);font-size:13px}.info-tooltip ul{margin:0;padding-left:18px}.info-tooltip li{margin-bottom:6px}.info-tooltip li:last-child{margin-bottom:0}.info-tooltip strong{color:var(--text-primary)}@media (max-width:768px){.info-tooltip{right:-10px;width:280px}.info-tooltip:before{right:30px}}.btn-teal{background:linear-gradient(145deg,#7ac4d8,#5ba3b8 15%,#4a90a4 35%,#6bb8cc 50%,#4a90a4 65%,#3a7a8e 85%,#2d6070)!important;background-size:200% 200%!important;border-color:#8cc8dc99 #5aa0b480 #32647880!important;border-style:solid!important;border-width:1px!important;box-shadow:0 3px 6px #3264784d,0 1px 2px #00000026,inset 0 2px 4px #ffffff40,inset 0 -2px 4px #00000026,inset 0 0 0 1px #ffffff14!important;color:#fff!important;position:relative;text-shadow:0 1px 2px #0000004d;transition:all .3s ease!important}.btn-teal:hover{background-position:100% 100%!important;box-shadow:0 5px 12px #32647866,0 2px 4px #0003,inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #00000026,inset 0 0 0 1px #ffffff1a!important;color:#fff!important;transform:translateY(-2px)!important}.memories-btn{align-items:center;display:flex;gap:8px;justify-content:center}.action-with-info{align-items:stretch;display:flex;gap:8px;position:relative}.action-with-info .btn{flex:1 1}.action-with-info .info-icon-btn{align-self:center;flex-shrink:0}.action-with-info .info-tooltip{right:0;top:calc(100% + 10px)}.dashboard .header-actions button.btn.btn-secondary,button.btn.btn-primary.btn-full,button.btn.btn-secondary.memories-btn,button.btn.btn-secondary.profile-btn,button.btn.btn-secondary.voice-btn{background:linear-gradient(145deg,#7ac4d8,#5ba3b8 15%,#4a90a4 35%,#6bb8cc 50%,#4a90a4 65%,#3a7a8e 85%,#2d6070)!important;background-size:200% 200%!important;border-color:#8cc8dc99 #5aa0b480 #32647880!important;border-style:solid!important;border-width:1px!important;box-shadow:0 3px 6px #3264784d,0 1px 2px #00000026,inset 0 2px 4px #ffffff40,inset 0 -2px 4px #00000026,inset 0 0 0 1px #ffffff14!important;color:#fff!important;position:relative;text-shadow:0 1px 2px #0000004d;transition:all .3s ease!important}.dashboard .header-actions button.btn.btn-secondary:before,button.btn.btn-primary.btn-full:before,button.btn.btn-secondary.memories-btn:before,button.btn.btn-secondary.profile-btn:before,button.btn.btn-secondary.voice-btn:before{background:linear-gradient(180deg,#ffffff26,#ffffff0d 50%,#0000);border-radius:inherit;content:"";height:50%;left:0;pointer-events:none;position:absolute;right:0;top:0}.dashboard .header-actions button.btn.btn-secondary:hover,button.btn.btn-primary.btn-full:hover,button.btn.btn-secondary.memories-btn:hover,button.btn.btn-secondary.profile-btn:hover,button.btn.btn-secondary.voice-btn:hover{background-position:100% 100%!important;border-color:#64aabe99!important;box-shadow:0 5px 12px #32647866,0 2px 4px #0003,inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #00000026,inset 0 0 0 1px #ffffff1a!important;color:#fff!important;transform:translateY(-2px)!important}.dashboard .header-actions button.btn.btn-secondary:active,button.btn.btn-primary.btn-full:active,button.btn.btn-secondary.memories-btn:active,button.btn.btn-secondary.profile-btn:active,button.btn.btn-secondary.voice-btn:active{box-shadow:0 1px 3px #3264784d,inset 0 2px 6px #0003,inset 0 0 0 1px #ffffff0d!important;transform:translateY(0)!important}.btn-lg{font-size:16px;font-weight:600;padding:14px 32px}.skeleton{background:linear-gradient(90deg,var(--soft-gray) 25%,#f0ede8 50%,var(--soft-gray) 75%)}.skeleton-card{pointer-events:none}.skeleton-card:hover{box-shadow:none;transform:none}.skeleton-avatar{flex-shrink:0;height:56px;width:56px}.skeleton-title{height:20px;margin-bottom:8px;width:120px}.skeleton-badge{border-radius:12px;height:24px;width:80px}.skeleton-label{height:12px;margin-bottom:6px;width:80px}.skeleton-value{height:28px;width:50px}.skeleton-progress{border-radius:4px;height:8px;margin-bottom:var(--spacing-md);width:100%}.skeleton-button{border-radius:var(--radius-sm)}.empty-state-enhanced{background:#fff;border:1px solid var(--soft-gray);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:48px 32px;text-align:center}.empty-state-visual{display:flex;justify-content:center;margin-bottom:32px;position:relative}.empty-tree-icon{position:relative;z-index:2}.empty-tree-image{animation:gentleFloat 4s ease-in-out infinite;height:auto;opacity:.9;width:120px}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-glow{background:radial-gradient(circle,#4a90a426 0,#0000 70%);border-radius:50%;height:180px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:180px;z-index:1}.empty-state-content h3{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 12px}.empty-state-content p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 auto 28px;max-width:400px}.empty-features{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-bottom:32px}.empty-feature{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;gap:8px}.feature-icon{font-size:18px}@media (max-width:768px){.empty-state-enhanced{padding:32px 20px}.empty-tree-image{width:80px}.empty-glow{height:120px;width:120px}.empty-state-content h3{font-size:20px}.empty-features{align-items:center;flex-direction:column;gap:12px}}.dashboard-footer{background:#fff;border-top:1px solid var(--soft-gray);margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0}.dashboard-footer .container{text-align:center}.footer-links{align-items:center;flex-wrap:wrap}.footer-link{transition:color .2s ease}.footer-link:hover{text-decoration:underline}.footer-divider{font-size:14px}@media (max-width:480px){.footer-links{gap:var(--spacing-xs)}.footer-link{font-size:13px}}.tutorial-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:1000}.tutorial-modal{animation:slideUp .3s ease;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}.tutorial-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:28px;line-height:1;padding:0;position:absolute;right:16px;top:16px;transition:color .2s ease;z-index:10}.tutorial-close:hover{color:var(--text-primary)}.tutorial-header{border-bottom:1px solid var(--soft-gray);padding:32px 32px 24px;text-align:center}.tutorial-logo{height:auto;margin-bottom:16px;width:140px}.tutorial-header h2{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 8px}.tutorial-header p{color:var(--text-secondary);font-size:15px;line-height:1.5;margin:0}.tutorial-content{padding:24px 32px 32px}.tutorial-question{color:var(--text-primary);font-size:16px;font-weight:500;margin:0 0 24px;text-align:center}.tutorial-options{display:flex;flex-direction:column;gap:16px}.tutorial-option{align-items:center;background:var(--warm-white);border:2px solid var(--soft-gray);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:16px;padding:20px;text-align:left;transition:all .2s ease}.tutorial-option:hover{background:#4a90a40d;border-color:var(--primary);transform:translateX(4px)}.tutorial-option:active{transform:translateX(2px)}.option-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #00000014;display:flex;flex-shrink:0;font-size:32px;height:48px;justify-content:center;width:48px}.option-content{flex:1 1;min-width:0}.option-content h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.option-content p{color:var(--text-secondary);font-size:14px;line-height:1.4;margin:0}.option-arrow{color:var(--primary);flex-shrink:0;font-size:20px;opacity:0;transform:translateX(-4px);transition:all .2s ease}.tutorial-option:hover .option-arrow{opacity:1;transform:translateX(0)}.create-option:hover{background:#5ba3b814;border-color:#5ba3b8}.create-option .option-icon{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.connect-option:hover{background:#d4af3714;border-color:#d4af37}.connect-option .option-icon{background:linear-gradient(135deg,#fff8e1,#ffecb3)}.tutorial-footer{margin-top:24px;text-align:center}.tutorial-skip{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:8px 16px;transition:color .2s ease}.tutorial-skip:hover{color:var(--text-primary);text-decoration:underline}@media (max-width:600px){.tutorial-modal{margin:16px;max-height:calc(100vh - 32px)}.tutorial-header{padding:24px 20px 20px}.tutorial-logo{width:120px}.tutorial-header h2{font-size:20px}.tutorial-content{padding:20px}.tutorial-option{gap:12px;padding:16px}.option-icon{font-size:24px;height:40px;width:40px}.option-content h3{font-size:15px}.option-content p{font-size:13px}}.settings-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.settings-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.settings-header{align-items:center;border-bottom:1px solid #e8e6e1;display:flex;justify-content:space-between;padding:20px 24px}.settings-header h2{color:var(--text-primary);font-size:22px;margin:0}.settings-close{align-items:center;background:none;border:none;border-radius:8px;color:#999;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.settings-close:hover{background:#f5f5f5;color:var(--text-primary)}.settings-content{padding:24px}.settings-section:last-child{margin-bottom:0}.settings-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 8px}.settings-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.language-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.language-option{align-items:center;background:#fff;border:2px solid #e8e6e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:16px 12px;position:relative;transition:all .2s ease}.language-option:hover{background:#f8fcfd;border-color:#4a90a4}.language-option.selected{background:#f0f8fa;border-color:#4a90a4}.language-option:disabled{cursor:not-allowed;opacity:.6}.language-flag{font-size:28px;margin-bottom:8px}.language-name{color:var(--text-primary);font-size:14px;font-weight:600}.language-native{color:var(--text-secondary);font-size:12px;margin-top:2px}.language-check{align-items:center;background:#4a90a4;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.settings-saving{color:#4a90a4;font-size:14px;margin-top:12px;text-align:center}.account-info{background:#f8f7f5;border-radius:12px;padding:16px}.account-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.account-row:first-child{padding-top:0}.account-row:last-child{padding-bottom:0}.account-row:not(:last-child){border-bottom:1px solid #e8e6e1}.account-label{color:var(--text-secondary);font-size:14px}.account-value{color:var(--text-primary);font-size:14px;font-weight:500}@media (max-width:480px){.settings-modal{margin:0 10px;max-height:80vh}.settings-content{padding:20px}.language-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.language-option{padding:12px 8px}.language-flag{font-size:24px}.language-name{font-size:12px}.language-native{font-size:10px}}.connect-dashboard{background-color:var(--cream);display:flex;flex-direction:column;min-height:100vh}.connect-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:max(2px,env(safe-area-inset-top)) 0 2px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.connect-header .header-content{align-items:center;display:flex;justify-content:space-between}.connect-header .brand-small{align-items:center;display:flex;gap:var(--spacing-md)}.connect-header .brand-logo-section{display:flex;flex-direction:column;gap:2px}.connect-header .header-logo{height:auto;width:180px}.connect-header .hamburger-menu{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:24px;justify-content:center;padding:8px;transition:background .2s ease}.connect-header .hamburger-menu:hover{background:var(--soft-gray)}.connect-dashboard .dropdown-menu-overlay{animation:fadeIn .2s ease;background:#0003;bottom:0;left:0;position:fixed;right:0;top:0;z-index:200}.connect-dashboard .dropdown-menu{animation:slideDown .2s ease;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:60px;min-width:220px;padding:var(--spacing-xs);position:fixed;top:10px;z-index:201}.connect-dashboard .menu-item{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;text-decoration:none;transition:background .2s ease;width:100%}.connect-dashboard .menu-item:hover{background:var(--soft-gray)}.connect-dashboard .menu-icon{font-size:18px}.connect-dashboard .menu-divider{background:var(--soft-gray);height:1px;margin:var(--spacing-xs) 0}.connect-dashboard .menu-item-danger{color:var(--error)}.connect-dashboard .view-switcher{background:#4a90a414;color:var(--primary);font-weight:500}.connect-dashboard .view-switcher:hover{background:#4a90a426}.connect-main{flex:1 1;padding:var(--spacing-xl) 0}.welcome-section{margin-bottom:var(--spacing-xl);text-align:center}.welcome-greeting{color:var(--text-primary);font-size:2rem;font-weight:400;margin:0 0 .5rem}.welcome-subtitle{color:var(--text-secondary);font-size:1.1rem;margin:0}.connections-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:900px}.connection-card{align-items:center;background:#fff;border:1px solid var(--soft-gray);border-radius:16px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;text-align:center;transition:all .2s ease}.connection-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.connection-visual{position:relative}.connection-avatar{align-items:center;background:linear-gradient(135deg,#d4af37,#b8942e);border-radius:50%;box-shadow:0 4px 12px #d4af374d;color:#fff;display:flex;font-size:2rem;font-weight:600;height:80px;justify-content:center;width:80px}.pending-badge{background:var(--warm-gray);bottom:-4px;font-size:.7rem;font-weight:500;left:50%;position:absolute;transform:translateX(-50%)}.connection-info{flex:1 1}.connection-name{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.creator-label{color:var(--text-secondary);font-size:.9rem;margin:0}.connection-meta{display:flex;gap:.5rem}.access-badge{background:var(--soft-gray);color:var(--text-secondary);padding:.25rem .75rem;text-transform:capitalize}.access-badge.admin{background:#4a90a426;color:var(--primary)}.access-badge.minor{background:#d4af3726;color:#b8942e}.connection-action{margin-top:auto;width:100%}.btn-connect{align-items:center;background:linear-gradient(135deg,#d4af37,#b8942e);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease}.btn-connect:hover{box-shadow:0 4px 12px #d4af3766;transform:translateY(-1px)}.btn-icon{font-size:1.1rem}.pending-access{align-items:center;background:var(--soft-gray);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem;justify-content:center;padding:.875rem}.pending-icon{font-size:1rem}.empty-state-card{margin:0 auto;max-width:500px;padding:3rem 2rem;text-align:center}.empty-icon{font-size:4rem;opacity:.6}.empty-state-card h2{color:var(--text-primary);font-size:1.5rem;font-weight:500;margin:0 0 .75rem}.empty-state-card p{color:var(--text-secondary);line-height:1.5;margin:0 0 .5rem}.empty-hint{font-size:.9rem;margin-bottom:1.5rem!important;margin-top:1rem!important}.skeleton-card{animation:pulse 1.5s ease-in-out infinite}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px}.skeleton-avatar{border-radius:50%;height:80px;width:80px}.skeleton-text{height:20px;margin-bottom:8px}.skeleton-text-sm{height:14px}.skeleton-button{border-radius:8px;height:44px;margin-top:auto;width:100%}.connect-footer{background:#fff;border-top:1px solid var(--soft-gray);padding:var(--spacing-lg) 0;text-align:center}.footer-links{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.footer-link{color:var(--text-secondary);font-size:14px;text-decoration:none}.footer-link:hover{color:var(--primary)}.footer-divider{color:var(--soft-gray)}.footer-copyright{color:var(--warm-gray);font-size:13px;margin:0}.connect-dashboard .container{margin:0 auto;max-width:1200px;padding:0 var(--spacing-md)}.connect-dashboard .error-message{background:#d676761a;border:1px solid #d676764d;border-radius:8px;color:var(--error);padding:1rem;text-align:center}@media (max-width:768px){.welcome-greeting{font-size:1.5rem}.connections-grid{grid-template-columns:1fr}.connection-card{padding:1.25rem}.connection-avatar{font-size:1.5rem;height:64px;width:64px}}.onboarding-page{background:linear-gradient(135deg,#fdf8f3,#f5ede4);min-height:100vh}.onboarding-header{background:#fff;box-shadow:0 2px 8px #0000000f;padding:1rem 0}.onboarding-header .header-content{align-items:center;display:flex;justify-content:space-between}.onboarding-header .brand-small{align-items:center;display:flex}.onboarding-header .brand-logo-section{align-items:center;display:flex;gap:1rem}.onboarding-header .header-logo{height:40px;width:auto}.onboarding-header .brand-tagline{color:#8b7355;font-size:.875rem;margin:0}.onboarding-header .header-actions{align-items:center;display:flex;gap:1rem}.onboarding-header .user-name{color:#5d4e37;font-size:.875rem}.onboarding-main{padding:2rem 0 4rem}.onboarding-main .container{margin:0 auto;max-width:1200px;padding:0 1rem}.progress-steps{align-items:center;gap:.5rem;justify-content:center;margin-bottom:2.5rem}.progress-steps .step{align-items:center;display:flex;gap:.5rem;opacity:.5;transition:opacity .3s ease}.progress-steps .step.active{opacity:1}.progress-steps .step-number{align-items:center;background:#e8e6e1;border-radius:50%;color:#5d4e37;display:flex;font-size:.875rem;font-weight:600;height:28px;justify-content:center;width:28px}.progress-steps .step.active .step-number{background:#4a90a4;color:#fff}.progress-steps .step-label{color:#5d4e37;font-size:.875rem}.progress-steps .step-connector{background:#e8e6e1;height:2px;width:60px}.onboarding-page .error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;max-width:600px;padding:1rem;text-align:center}.persona-selection{text-align:center}.persona-selection h1{color:#3d3229;font-family:Lora,Georgia,serif;font-size:2rem;margin-bottom:.5rem}.persona-selection .subtitle{color:#6b5d4d;font-size:1rem;margin-bottom:2rem}.persona-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem}.persona-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 2px 8px #0000000a;cursor:pointer;padding:1.5rem;position:relative;text-align:center;transition:all .3s ease}.persona-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-4px)}.persona-card.selected,.persona-card:hover{border-color:#4a90a4;border-color:var(--persona-color,#4a90a4)}.persona-card.selected{background:linear-gradient(180deg,#fff,#f8f7f5)}.persona-card .persona-icon{align-items:center;background:linear-gradient(135deg,#f8f7f5,#fff);border:2px solid #e8e6e1;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 1rem;width:64px}.persona-card.selected .persona-icon{background:linear-gradient(135deg,#fff,#f8f7f5);border-color:#4a90a4;border-color:var(--persona-color,#4a90a4)}.persona-card h3{color:#3d3229;font-family:Lora,Georgia,serif;font-size:1.25rem;margin-bottom:.5rem}.persona-card .persona-description{color:#6b5d4d;font-size:.875rem;line-height:1.5;margin-bottom:.75rem}.persona-card .persona-tagline{color:#4a90a4;color:var(--persona-color,#4a90a4);font-size:.8rem;font-style:italic;margin:0}.persona-card .selected-indicator{align-items:center;background:#4a90a4;background:var(--persona-color,#4a90a4);border-radius:50%;display:flex;height:28px;justify-content:center;position:absolute;right:12px;top:12px;width:28px}.persona-card .selected-indicator svg{color:#fff}.step-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.step-actions .btn{min-width:140px}.name-input-section{margin:0 auto;max-width:600px;text-align:center}.selected-persona-summary{margin-bottom:1.5rem}.persona-badge{align-items:center;background:#fff;border:2px solid #4a90a4;border:2px solid var(--persona-color,#4a90a4);border-radius:20px;color:#3d3229;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.name-input-section h1{color:#3d3229;font-family:Lora,Georgia,serif;font-size:1.75rem;margin-bottom:.5rem}.name-input-section .subtitle{color:#6b5d4d;font-size:1rem;margin-bottom:2rem}.name-form{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000f;padding:2rem}.name-form .form-group{margin-bottom:1.5rem;text-align:left}.name-form label{color:#3d3229;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.name-form input{background:#fdfcfb;border:2px solid #e8e6e1;border-radius:8px;color:#3d3229;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s ease;width:100%}.name-form input:focus{background:#fff;border-color:#4a90a4;outline:none}.name-form input::placeholder{color:#9ca3af}.persona-preview{background:#f8f7f5;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem;text-align:left}.persona-preview h4{color:#5d4e37;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.persona-preview ul{margin:0;padding-left:1.25rem}.persona-preview li{color:#6b5d4d;font-size:.875rem;line-height:1.4;margin-bottom:.5rem}.persona-preview li:last-child{margin-bottom:0}.onboarding-page .btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.onboarding-page .btn-primary{background:#4a90a4;color:#fff}.onboarding-page .btn-primary:hover:not(:disabled){background:#3d7a8c}.onboarding-page .btn-primary:disabled{background:#b8d4dd;cursor:not-allowed}.onboarding-page .btn-secondary{background:#e8e6e1;color:#5d4e37}.onboarding-page .btn-secondary:hover:not(:disabled){background:#d9d5ce}.onboarding-page .btn-sm{font-size:.875rem;padding:.5rem 1rem}@media (max-width:768px){.onboarding-header .brand-tagline{display:none}.name-input-section h1,.persona-selection h1{font-size:1.5rem}.persona-grid{grid-template-columns:1fr}.progress-steps .step-label{display:none}.progress-steps .step-connector{width:40px}.name-form{padding:1.5rem}.step-actions{flex-direction:column}.step-actions .btn{width:100%}}.chat-interface{background-color:var(--cream);display:flex;flex-direction:column;height:100vh;padding-top:env(safe-area-inset-top)}.chat-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;flex-shrink:0;padding:var(--spacing-md) var(--spacing-lg);padding-top:max(var(--spacing-md),env(safe-area-inset-top))}.chat-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;position:relative}.chat-logo{height:auto;left:50%;position:absolute;transform:translateX(-50%);width:120px}.settings-button{min-height:44px;min-width:44px;z-index:10}.btn-icon{align-items:center;border:2px solid #0000;border-radius:50%;display:flex;font-size:24px;height:44px;justify-content:center;width:44px}.btn-icon.btn-primary{background:var(--primary);color:#fff}.btn-icon.btn-secondary{background:#fff;border-color:var(--border-color);box-shadow:0 2px 4px #0000001a;color:var(--primary)}.btn-icon:hover{opacity:.9;transform:scale(1.05)}.chat-main{background:linear-gradient(to bottom,var(--cream) 0,var(--warm-white) 100%);flex:1 1;overflow-y:auto}.messages-container{margin:0 auto;max-width:900px}.empty-chat{margin-left:auto;margin-right:auto;margin-top:5vh;max-width:500px;padding:var(--spacing-md);text-align:center}.empty-chat-icon{font-size:64px;margin-bottom:var(--spacing-md);opacity:.3}.empty-chat h3{color:var(--text-primary);margin-bottom:var(--spacing-xs)}.empty-chat p{color:var(--text-secondary);margin:0 auto;max-width:400px}.message-group{margin-bottom:var(--spacing-lg)}.message{animation:slideIn .3s ease;margin-bottom:var(--spacing-sm)}.message-user{align-items:flex-end;flex-direction:column}.message-user .message-content{word-wrap:break-word;background:var(--primary);border-radius:18px 18px 4px 18px;color:#fff;max-width:70%;padding:12px 16px}.message-user .message-content p{color:#fff;font-size:15px;line-height:1.5;margin:0}.message-replica{align-items:flex-start;gap:var(--spacing-sm)}.message-avatar{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:14px;font-weight:600;height:32px;margin-top:4px;width:32px}.message-body{display:flex;flex-direction:column;max-width:70%}.message-replica .message-content{align-items:center;background:#fff;border:1px solid var(--soft-gray);border-radius:18px 18px 18px 4px;box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-sm);padding:12px 16px;position:relative}.message-replica .message-content p{color:var(--text-primary);flex:1 1;font-size:15px;line-height:1.6;margin:0;white-space:pre-wrap}.speak-button{background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;font-size:16px;opacity:.6;padding:4px 8px;transition:all .2s ease}.speak-button:hover{background-color:var(--warm-white);opacity:1;transform:scale(1.1)}.message-time{color:var(--warm-gray);font-size:11px;margin-top:4px;padding:0 4px}.chat-footer{background:#fff;border-top:1px solid var(--soft-gray);box-shadow:0 -2px 8px #0000000a;flex-shrink:0;padding:8px var(--spacing-lg);padding-bottom:max(8px,env(safe-area-inset-bottom))}.chat-input-container{margin:0 auto;max-width:900px}.chat-error{background-color:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-sm);color:var(--error);font-size:13px;margin-bottom:var(--spacing-sm);padding:10px 14px}.chat-form{align-items:flex-end;display:flex;gap:var(--spacing-sm)}.mic-button{align-items:center;background:var(--warm-white);border:2px solid var(--soft-gray);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;transition:all .2s ease;width:44px}.mic-button:hover:not(:disabled){background:#fff;border-color:var(--primary);transform:scale(1.05)}.mic-button.listening{animation:pulse 1.5s ease-in-out infinite;background:var(--primary);border-color:var(--primary);color:#fff}.mic-button:disabled{cursor:not-allowed;opacity:.4}.chat-input{background-color:var(--warm-white);border-radius:22px;min-height:44px;padding:12px 16px;transition:all .2s ease}.chat-input:focus{background-color:#fff;box-shadow:0 0 0 3px #4a90a41a}.chat-input:disabled{cursor:not-allowed;opacity:.6}.send-button{border-radius:50%}.send-button:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.send-button:disabled{transform:none}.send-icon{display:block;margin-left:2px}.sending-spinner{animation:pulse 1s ease-in-out infinite;display:block}.chat-footer-note{color:var(--warm-gray);font-size:11px;margin-bottom:0;margin-top:var(--spacing-xs);text-align:center}.speaking-indicator{align-items:center;background:var(--warm-white);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;font-size:14px;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.speaking-indicator button{font-size:12px;padding:4px 12px}.chat-main::-webkit-scrollbar{width:8px}.chat-main::-webkit-scrollbar-track{background:#0000}.chat-main::-webkit-scrollbar-thumb{background:var(--soft-gray);border-radius:4px}.chat-main::-webkit-scrollbar-thumb:hover{background:var(--warm-gray)}.voice-only-controls,.voice-only-mode{align-items:center;display:flex;flex-direction:column}.voice-only-controls{gap:8px;padding:4px 0}.mic-button-large{align-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));border:none;border-radius:50%;box-shadow:0 4px 12px #4a90a44d;color:#fff;cursor:pointer;display:flex;font-size:36px;height:80px;justify-content:center;overflow:hidden;padding:0;transition:all .3s ease;width:80px}.mic-button-large .button-logo{border-radius:8px;height:60%;object-fit:contain;width:60%}.mic-button-large:hover:not(:disabled){box-shadow:0 6px 20px #4a90a466;transform:scale(1.1)}.mic-button-large.conversation-active{animation:pulse-conversation 2s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#dc2626)}.mic-button-large.listening{animation:pulse-recording 1s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 20px #ef444480}.mic-button-large.speaking{animation:pulse-speaking 2s ease-in-out infinite;background:linear-gradient(135deg,#2d6a7a,#1e4f5c)}.mic-button-large.sending{animation:rotate 1s linear infinite;background:var(--warm-gray)}.mic-button-large:disabled{cursor:not-allowed;opacity:.5;transform:none}@keyframes pulse-conversation{0%,to{box-shadow:0 4px 12px #ef444480;transform:scale(1)}50%{box-shadow:0 8px 24px #ef4444b3;transform:scale(1.03)}}@keyframes pulse-large{0%,to{box-shadow:0 4px 12px #4a90a466;transform:scale(1)}50%{box-shadow:0 6px 24px #4a90a499;transform:scale(1.05)}}@keyframes pulse-speaking{0%,to{box-shadow:0 4px 12px #8b5cf680;transform:scale(1)}50%{box-shadow:0 8px 24px #8b5cf6b3;transform:scale(1.03)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.voice-tip{animation:slideUpFade .3s ease;background:#fff;border-radius:var(--radius-md);bottom:100%;box-shadow:0 4px 20px #00000026;left:50%;margin-bottom:16px;max-width:340px;padding:16px 20px;position:absolute;transform:translateX(-50%);width:calc(100% - 32px);z-index:10}@keyframes slideUpFade{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.voice-tip:after{border-left:10px solid #0000;border-right:10px solid #0000;border-top:10px solid #fff;bottom:-8px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.voice-tip-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:20px;line-height:1;padding:0;position:absolute;right:8px;top:8px}.voice-tip-close:hover,.voice-tip-content h4{color:var(--text-primary)}.voice-tip-content h4{font-size:16px;font-weight:600;margin:0 0 12px}.voice-tip-content ol{margin:0 0 12px;padding-left:20px}.voice-tip-content li{color:var(--text-secondary);font-size:14px;line-height:1.4;margin-bottom:8px}.voice-tip-content li:last-child{margin-bottom:0}.voice-tip-content li strong{color:var(--text-primary)}.voice-tip-note{border-top:1px solid var(--soft-gray);color:var(--text-secondary);font-size:13px;font-style:italic;margin:0;padding-top:10px}@media (max-width:480px){.voice-tip{padding:14px 16px;width:calc(100% - 24px)}.voice-tip-content h4{font-size:15px}.voice-tip-content li{font-size:13px}}.voice-status{align-items:center;display:flex;justify-content:center;min-height:20px;text-align:center}.status-text{color:var(--text-primary);font-size:15px;font-weight:500;margin:0}.listening-status{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.recording-indicator{gap:8px}.recording-dot{animation:pulse-recording 1.5s ease-in-out infinite;background-color:#ef4444;height:10px;width:10px}@keyframes pulse-recording{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.interim-text-container{background:#4a90a414;border:1px solid #4a90a433;border-radius:var(--radius-md);margin-top:8px;max-height:150px;max-width:90%;overflow-y:auto;padding:12px 16px;width:100%}.interim-text{word-wrap:break-word;color:var(--text-primary);font-size:16px;font-style:normal;line-height:1.5;margin:0}.interim-hint{color:var(--text-secondary);font-size:12px;font-style:italic;margin:6px 0 0}.listening-status>.interim-hint{color:var(--text-secondary);font-style:italic;margin-top:8px}.speaking-status{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.btn-stop{background:var(--error);border-radius:var(--radius-sm);font-size:13px;padding:6px 16px;transition:all .2s ease}.btn-stop:hover{background:#dc2626;transform:scale(1.05)}@media (max-width:768px){.chat-header{padding:var(--spacing-sm) var(--spacing-md)}.chat-header-actions .btn-sm{display:none}.chat-header-actions{gap:var(--spacing-xs)}.messages-container{padding:var(--spacing-md)}.chat-footer{padding:var(--spacing-sm) var(--spacing-md)}.message-body,.message-user .message-content{max-width:85%}.empty-chat{margin-top:2vh;padding:var(--spacing-sm)}.mic-button-large{font-size:32px;height:70px;padding:14px;width:70px}.status-text{font-size:14px}}.modal-overlay{background-color:#00000080;padding:var(--spacing-md)}.modal-content{border-radius:var(--radius-md);box-shadow:0 10px 40px #0003}.modal-header{padding:var(--spacing-lg)}.modal-header h2{color:var(--text-primary);font-size:20px}.btn-close{align-items:center;border-radius:50%;display:flex;font-size:24px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-close:hover{background-color:var(--warm-white)}.modal-body,.modal-footer{padding:var(--spacing-lg)}.btn-full{font-size:15px;font-weight:600;padding:12px}.setting-section{margin-bottom:var(--spacing-xl)}.setting-section:last-child{margin-bottom:0}.setting-section h3{color:var(--text-primary);font-size:16px;margin:0 0 var(--spacing-xs) 0}.setting-description{color:var(--text-secondary);font-size:13px;margin:0 0 var(--spacing-md) 0}.voice-options{flex-direction:column}.voice-option,.voice-options{display:flex;gap:var(--spacing-sm)}.voice-option{align-items:center;border:2px solid var(--soft-gray);border-radius:var(--radius-sm);cursor:pointer;padding:var(--spacing-md);transition:all .2s ease}.voice-option:hover{background-color:var(--warm-white);border-color:var(--primary)}.voice-option input[type=radio]{accent-color:var(--primary);cursor:pointer;height:20px;width:20px}.voice-option input[type=radio]:checked+.voice-option-info{color:var(--primary)}.voice-option-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.voice-option-label{color:var(--text-primary);font-size:15px;font-weight:600}.voice-option-description{color:var(--text-secondary);font-size:13px}.toggle-switch{display:inline-block;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--soft-gray);border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.chat-input-container>.mode-toggle-button{display:none}.mode-toggle-button{align-items:center;background:#fff;border:2px solid var(--soft-gray);border-radius:50%;box-shadow:0 2px 8px #0000001a;color:var(--primary);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s ease;width:48px}.mode-toggle-button:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.05)}.mode-toggle-button:active{transform:scale(.95)}.mic-level-container{align-items:center;display:flex;gap:12px;margin-top:16px;padding:0 20px}.mic-level-bar{background:#ffffff4d;border-radius:4px;flex:1 1;height:8px;overflow:hidden;position:relative}.mic-level-fill{background:linear-gradient(90deg,var(--primary) 0,var(--accent) 50%,#ff6b6b 100%);border-radius:4px;height:100%;transition:width .1s ease}.mic-level-text{color:#fff;font-size:13px;font-weight:600;min-width:45px;text-align:right}.text-input-form{align-items:flex-end;display:flex;gap:12px;margin:0 auto;max-width:600px;padding:20px;width:100%}.text-input-field{background:#fff;border:2px solid var(--soft-gray);border-radius:20px;flex:1 1;font-family:inherit;font-size:16px;line-height:1.4;max-height:33vh;min-height:48px;overflow-y:auto;padding:14px 18px;resize:none;transition:border-color .3s ease,box-shadow .3s ease}.text-input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6a9c891a;outline:none}.text-input-field:disabled{background:var(--soft-gray);cursor:not-allowed}.text-input-field::-webkit-scrollbar{width:6px}.text-input-field::-webkit-scrollbar-track{background:#0000}.text-input-field::-webkit-scrollbar-thumb{background:var(--soft-gray);border-radius:3px}.text-input-field::-webkit-scrollbar-thumb:hover{background:var(--warm-gray)}.text-send-button{background:var(--primary);border:none;border-radius:25px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s ease;white-space:nowrap}.text-send-button:hover:not(:disabled){background:var(--primary-dark);box-shadow:0 4px 12px #6a9c894d;transform:translateY(-1px)}.text-send-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.text-send-button:active:not(:disabled){transform:translateY(0)}.chat-input-container.text-mode{background:var(--cream);border-top:1px solid var(--soft-gray)}@media (max-width:768px){.mode-toggle-button{bottom:100px;font-size:20px;height:45px;right:15px;width:45px}.text-input-form{padding:15px}.text-input-field{font-size:14px;padding:12px 16px}.text-send-button{font-size:14px;padding:12px 20px}.mic-level-container{padding:0 15px}}.welcome-back-container{border-bottom:1px solid var(--soft-gray);margin-bottom:1rem;padding-bottom:1rem}.welcome-back-message{animation:slideIn .5s ease}.welcome-back-message .message-content{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac}.loading-welcome{color:var(--text-secondary);font-style:italic}.initial-greeting-container{display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:1rem}.initial-greeting-message{animation:slideIn .5s ease}.initial-greeting-message .message-content{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.typing-indicator-container{animation:fadeIn .3s ease}.typing-indicator{background:#fff;border:1px solid var(--soft-gray);border-radius:18px 18px 18px 4px;box-shadow:var(--shadow-sm);padding:12px 16px}.typing-indicator span{animation:typingBounce 1.4s ease-in-out infinite;background-color:var(--primary);opacity:.4}.typing-indicator span:first-child{animation-delay:0s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.header-buttons{align-items:center;display:flex;gap:8px}.history-panel{animation:slideInRight .3s ease;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100%;max-width:480px;position:fixed;right:0;top:0;width:100%;z-index:1001}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.history-header{align-items:center;background:var(--cream);border-bottom:1px solid var(--soft-gray);display:flex;justify-content:space-between;padding:max(16px,calc(env(safe-area-inset-top) + 12px)) 20px 16px}.history-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.history-header-buttons{align-items:center;display:flex;gap:8px}.btn-clear-history{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .2s ease}.btn-clear-history:hover{background:#fecaca;border-color:#f87171}.btn-clear-history:disabled{cursor:not-allowed;opacity:.5}.history-search{border-bottom:1px solid var(--soft-gray);padding:16px 20px;position:relative}.search-input{background:#fff;border:2px solid var(--soft-gray);border-radius:12px;padding:12px 40px 12px 16px;transition:all .2s ease;width:100%}.search-clear{align-items:center;background:var(--soft-gray);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:28px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.search-clear:hover{background:var(--primary);color:#fff}.history-stats{background:var(--warm-white);color:var(--text-secondary);display:flex;font-size:13px;gap:20px;padding:12px 20px}.history-stats .stat-item strong{color:var(--primary)}.history-list{flex:1 1;overflow-y:auto;padding:12px 0}.history-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.history-empty .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.history-empty p{font-size:15px;margin:0}.history-item{border-bottom:1px solid var(--soft-gray);cursor:pointer;padding:16px 20px;transition:background .2s ease}.history-item:hover{background:var(--warm-white)}.history-item-time{color:var(--text-secondary);font-size:11px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.history-item-replica,.history-item-user{display:flex;font-size:14px;gap:8px;line-height:1.4;margin-bottom:6px}.history-item-replica{margin-bottom:0}.history-label{color:var(--text-primary);flex-shrink:0;font-weight:600}.history-item-user .history-label{color:var(--primary)}.history-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.search-highlight{background:#fff3cd;border-radius:2px;padding:1px 2px}.message-group.highlight-message{animation:highlightPulse 2s ease}@keyframes highlightPulse{0%,to{background:#0000}25%,75%{background:#4a90a41a;border-radius:8px}}@media (max-width:480px){.history-panel{max-width:100%}}.bottom-left-buttons{bottom:15px;display:flex;gap:10px;left:15px;position:absolute;z-index:10}.button-with-info{position:relative}.bottom-left-buttons .mode-toggle-button,.topics-button{align-items:center;background:#fff;border:2px solid var(--soft-gray);border-radius:50%;box-shadow:0 2px 8px #0000001a;color:var(--primary);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s ease;width:48px}.bottom-left-buttons .mode-toggle-button:hover,.topics-button:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.05)}.bottom-left-buttons .mode-toggle-button{bottom:auto;position:static;right:auto}.info-tooltip{animation:fadeIn .2s ease;background:var(--text-primary);border-radius:8px;bottom:100%;box-shadow:0 4px 12px #0003;color:#fff;font-size:12px;margin-bottom:8px;padding:8px 12px;white-space:nowrap;z-index:100}.info-tooltip,.info-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.info-tooltip:after{border:6px solid #0000;border-top:6px solid var(--text-primary);content:"";top:100%}.info-tooltip p{margin:0}.topics-modal{animation:modalSlideIn .3s ease;background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 40px #0003;max-height:80vh;max-width:450px;overflow:hidden;width:100%}.topics-modal .modal-body{max-height:calc(80vh - 120px);overflow-y:auto}.topics-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 16px}.topics-list{list-style:none;margin:0;padding:0}.topic-item{align-items:center;border-bottom:1px solid var(--soft-gray);display:flex;gap:12px;padding:12px 0;transition:all .2s ease}.topic-item:last-child{border-bottom:none}.topic-item.completed{background:linear-gradient(90deg,#7a9e7e0d,#0000)}.topic-item.completed .topic-text{color:var(--primary)}.topic-bullet{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:14px;height:18px;justify-content:center;width:18px}.topic-text{color:var(--text-primary);font-size:15px;line-height:1.4}@media (max-width:768px){.bottom-left-buttons{bottom:10px;gap:8px;left:10px}.bottom-left-buttons .mode-toggle-button,.topics-button{height:42px;width:42px}.topics-modal{margin:0 10px;max-width:95%}}.faq-page{background-color:var(--cream);min-height:100vh}.faq-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:var(--spacing-xl) 0;padding-top:max(var(--spacing-xl),calc(env(safe-area-inset-top) + 16px))}.faq-header-top{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.faq-logo{height:auto;width:130px}.faq-header h1{color:var(--text-primary);font-size:32px;margin-bottom:var(--spacing-xs)}.faq-subtitle{color:var(--text-secondary);font-size:16px;margin:0}.faq-main{padding:var(--spacing-xl) 0}.faq-category{margin-bottom:var(--spacing-xl)}.category-title{border-bottom:2px solid #d4af37;color:var(--text-primary);font-size:24px;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.questions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.faq-item{border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:box-shadow .2s ease}.faq-item:hover{box-shadow:0 2px 6px #00000014}.faq-question{align-items:center;background:#fff;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:space-between;padding:var(--spacing-md);text-align:left;transition:background .2s ease;width:100%}.faq-question.active,.faq-question:hover{background:var(--soft-gray)}.faq-icon{color:#d4af37;flex-shrink:0;font-size:24px;font-weight:300;text-align:center;width:24px}.faq-answer{animation:slideDown .3s ease;padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.faq-answer p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0;white-space:pre-line}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.faq-footer-section{border-top:1px solid var(--soft-gray);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.faq-footer-section .card{background:#fff;padding:var(--spacing-xl);text-align:center}.faq-footer-section h3{color:var(--text-primary);font-size:22px;margin-bottom:var(--spacing-sm)}.faq-footer-section p{color:var(--text-secondary);font-size:15px;margin:0 auto var(--spacing-lg);max-width:500px}@media (max-width:768px){.faq-header h1{font-size:26px}.category-title{font-size:20px}.faq-question{font-size:15px;padding:var(--spacing-sm)}.faq-answer{padding:0 var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}}.help-page{background-color:var(--cream);display:flex;flex-direction:column;min-height:100vh}.help-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:var(--spacing-lg) 0;padding-top:max(var(--spacing-lg),calc(env(safe-area-inset-top) + 12px))}.help-header-top{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.help-logo{height:auto;width:130px}.help-title-section{align-items:center;display:flex;gap:var(--spacing-md)}.help-title-section h1{color:var(--text-primary);font-size:28px;margin:0}.status-indicator{align-items:center;background:#e8f5e9;border-radius:12px;color:#2e7d32;display:flex;font-size:13px;gap:6px;padding:4px 12px}.status-dot{animation:pulse 2s infinite;background:#2e7d32;border-radius:50%;height:8px;width:8px}.help-main{padding:var(--spacing-lg) 0}.chat-container,.help-main,.help-main .container{display:flex;flex:1 1}.chat-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;max-height:calc(100vh - 200px)}.quick-actions{background:var(--soft-gray);border-bottom:1px solid var(--soft-gray);padding:var(--spacing-md)}.quick-actions-label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.quick-action-btn{align-items:center;background:#fff;border:1px solid var(--soft-gray);border-radius:20px;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease}.quick-action-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}.quick-action-icon{font-size:14px}.quick-action-text{white-space:nowrap}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;padding:var(--spacing-lg)}.message{animation:fadeIn .3s ease;display:flex;gap:var(--spacing-sm);max-width:80%}.message-user{align-self:flex-end;flex-direction:row-reverse}.message-assistant{align-self:flex-start}.message-avatar{align-items:center;background:var(--soft-gray);border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.message-user .message-avatar{background:linear-gradient(135deg,var(--primary),var(--accent))}.message-content{display:flex;flex-direction:column}.message-bubble{border-radius:12px;font-size:15px;line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);white-space:pre-line}.message-assistant .message-bubble{background:var(--soft-gray);border-bottom-left-radius:4px;color:var(--text-primary)}.message-user .message-bubble{background:var(--primary);border-bottom-right-radius:4px;color:#fff}.typing-indicator{align-items:center;display:flex;gap:4px;padding:var(--spacing-sm) var(--spacing-md)}.typing-indicator span{animation:typing 1.4s infinite;background:var(--text-secondary);border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-input-container{background:#fff;border-top:1px solid var(--soft-gray);padding:var(--spacing-md)}.chat-input-wrapper{align-items:flex-end;display:flex;gap:var(--spacing-sm)}.chat-input{border:2px solid var(--soft-gray);border-radius:var(--radius-md);flex:1 1;font-family:inherit;font-size:15px;max-height:120px;padding:var(--spacing-sm) var(--spacing-md);resize:none;transition:border-color .2s ease}.chat-input:focus{border-color:var(--primary);outline:none}.send-button{align-items:center;background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;transition:all .2s ease;width:44px}.send-button:hover:not(:disabled){background:var(--accent);transform:translateY(-2px)}.send-button:disabled{cursor:not-allowed;opacity:.4}.input-hint{color:var(--text-secondary);font-size:12px;margin:4px 0 0;text-align:center}@media (max-width:768px){.chat-container{max-height:calc(100vh - 150px)}.message{max-width:90%}.quick-actions-grid{gap:4px}.quick-action-btn{font-size:12px;padding:5px 10px}.help-title-section{align-items:flex-start;flex-direction:column}}.admin-analytics{background:linear-gradient(to bottom,var(--cream) 0,var(--warm-white) 100%);min-height:100vh}.analytics-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:var(--spacing-md) var(--spacing-lg);padding-top:max(var(--spacing-md),calc(env(safe-area-inset-top) + 8px));position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.analytics-header h1{color:var(--text-primary);font-size:24px;font-weight:600;margin:0}.header-spacer{width:80px}.back-button{border-radius:var(--radius-sm);color:var(--text-secondary);font-family:inherit;font-size:15px;padding:8px 12px}.back-button:hover{background-color:var(--warm-white);color:var(--text-primary)}.stats-container{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.stats-container.signups-stats{margin-bottom:-8px;padding-bottom:0}.stat-card{border-radius:var(--radius-lg);flex:1 1;min-width:150px;padding:var(--spacing-lg);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.highlight{background:linear-gradient(135deg,var(--primary),var(--accent));border:none}.stat-card.highlight .stat-label,.stat-card.highlight .stat-value{color:#fff}.stat-value{color:var(--primary);font-size:36px;font-weight:700;line-height:1;margin-bottom:var(--spacing-xs)}.stat-label{font-size:14px;font-weight:500}.stat-card.clickable{cursor:pointer;position:relative}.stat-card.clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-card.clickable.active{border-color:var(--primary);box-shadow:0 0 0 3px #4a90a433}.stat-card.highlight.active{box-shadow:0 0 0 3px #fff6}.click-hint{color:var(--text-secondary);font-size:11px;margin-top:var(--spacing-xs);opacity:0;transition:opacity .2s ease}.stat-card.clickable:hover .click-hint{opacity:1}.stat-card.highlight .click-hint{color:#fffc}.detail-panel{margin:0 auto var(--spacing-lg);max-width:1400px;padding:0 var(--spacing-lg)}.detail-panel-header{align-items:center;background:#fff;border:1px solid var(--soft-gray);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.detail-panel-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.close-panel-btn{align-items:center;background:var(--warm-white);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-panel-btn:hover{background:var(--soft-gray);color:var(--text-primary)}.detail-loading{align-items:center;background:#fff;border:1px solid var(--soft-gray);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xl)}.detail-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--soft-gray);border-radius:50%;border-top-color:var(--primary);height:30px;width:30px}.detail-content{max-height:400px;overflow-y:auto;padding:var(--spacing-md)}.detail-content,.no-data{background:#fff;border:1px solid var(--soft-gray);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.no-data{color:var(--text-secondary);padding:var(--spacing-lg);text-align:center}.replicas-list,.users-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.replica-item,.user-item{align-items:center;background:var(--warm-white);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:background .2s ease}.replica-item:hover,.user-item:hover{background:var(--soft-gray)}.replica-avatar,.user-avatar{align-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.replica-details,.user-details{flex:1 1;min-width:0}.replica-details strong,.user-details strong{color:var(--text-primary);display:block;font-size:14px}.user-details .user-email{color:var(--text-secondary);font-size:12px}.replica-stats,.user-stats{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.conversation-count{color:var(--primary);font-size:13px;font-weight:600}.creator,.last-active{color:var(--text-secondary);font-size:11px}.filtered-conversations{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-info{border-bottom:1px solid var(--soft-gray);color:var(--text-secondary);font-size:13px;margin:0 0 var(--spacing-sm);padding-bottom:var(--spacing-sm)}.mini-conversation{background:var(--warm-white);border-left:3px solid var(--primary);border-radius:var(--radius-md);padding:var(--spacing-sm)}.mini-conv-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.mini-user{color:var(--text-primary);font-size:13px;font-weight:600}.mini-arrow{color:var(--text-secondary);font-size:12px}.mini-replica{color:var(--primary);font-size:13px;font-weight:500}.mini-time{color:var(--text-secondary);font-size:11px;margin-left:auto}.mini-messages{font-size:13px;line-height:1.4}.mini-ai-msg,.mini-user-msg{margin:0;padding:4px 0}.mini-user-msg{color:var(--text-primary)}.mini-ai-msg{color:var(--text-secondary)}.search-container{margin:0 auto var(--spacing-md);max-width:1400px;padding:0 var(--spacing-lg)}.search-form{display:flex;gap:var(--spacing-sm)}.search-input{border:1px solid var(--soft-gray);border-radius:var(--radius-md);flex:1 1;font-family:inherit;font-size:15px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a90a41a;outline:none}.search-button{background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;transition:background .2s ease}.search-button:hover{background:var(--primary-dark)}.clear-button{background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:15px;padding:12px 16px;transition:all .2s ease}.clear-button:hover{background:var(--soft-gray);color:var(--text-primary)}.search-results-info{color:var(--text-secondary);font-size:14px;margin-top:var(--spacing-sm)}.loading-container{gap:var(--spacing-md);padding:var(--spacing-xl)}.loading-container .spinner{animation:spin 1s linear infinite;border:3px solid var(--soft-gray);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.error-message{background:#fff5f5;border:1px solid #ffcdd2;border-radius:var(--radius-md);color:#c62828;margin:0 auto var(--spacing-md);margin-left:var(--spacing-lg);margin-right:var(--spacing-lg);max-width:1400px;padding:var(--spacing-md) var(--spacing-lg)}.empty-state{color:var(--text-secondary);padding:var(--spacing-xl)}.conversations-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin:0 auto;max-width:1400px;padding:0 var(--spacing-lg) var(--spacing-lg)}.conversation-card{background:#fff;border:1px solid var(--soft-gray);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;padding:var(--spacing-md);transition:all .2s ease}.conversation-card.expanded,.conversation-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.conversation-header{justify-content:space-between;margin-bottom:var(--spacing-sm)}.conversation-header,.conversation-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.replica-info,.user-info{display:flex;flex-direction:column;gap:2px}.replica-info strong,.user-info strong{color:var(--text-primary);font-size:14px}.user-email{font-size:12px}.arrow-icon,.user-email{color:var(--text-secondary)}.arrow-icon{font-size:16px}.status-badge{border-radius:12px;display:inline-block;font-size:11px;padding:2px 8px;text-transform:uppercase}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.onboarding{background:#fff3e0;color:#e65100}.status-badge.training{background:#e3f2fd;color:#1565c0}.status-badge.paused{background:#fafafa;color:#757575}.timestamp{color:var(--text-secondary);font-size:12px;white-space:nowrap}.conversation-preview{display:flex;flex-direction:column;gap:var(--spacing-sm)}.message{border-radius:var(--radius-sm);padding:var(--spacing-sm)}.message-label{color:var(--text-secondary);display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.message p{color:var(--text-primary);font-size:14px;line-height:1.5;margin:0}.message p.truncated{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.user-message{background:#4a90a414}.ai-message{background:var(--warm-white)}.conversation-details{border-top:1px solid var(--soft-gray);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.detail-row{display:flex;font-size:13px;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.detail-label{font-weight:600;min-width:130px}.detail-label,.expand-hint{color:var(--text-secondary)}.expand-hint{font-size:12px;margin-top:var(--spacing-sm);opacity:.7;text-align:center}.pagination{align-items:center;display:flex;gap:var(--spacing-md);justify-content:center;margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.pagination-button{background:#fff;border:1px solid var(--soft-gray);border-radius:var(--radius-md);cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--text-secondary);font-size:14px}@media (max-width:768px){.stat-card,.stats-container{padding:var(--spacing-md)}.stat-card{min-width:calc(50% - var(--spacing-sm))}.stat-value{font-size:28px}.search-container{padding:0 var(--spacing-md)}.search-form{flex-direction:column}.conversations-list{padding:0 var(--spacing-md) var(--spacing-md)}.conversation-meta{align-items:flex-start;flex-direction:column}.arrow-icon{display:none}.analytics-header h1{font-size:18px}}@media (max-width:480px){.stat-card{min-width:100%}.header-content{flex-wrap:wrap;gap:var(--spacing-sm)}.header-spacer{display:none}}.error-log-toggle{background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.error-log-toggle:hover{background:var(--soft-gray);color:var(--text-primary)}.error-log-toggle.has-errors{background:#ffebee;border-color:#ffcdd2;color:#c62828}.error-log-toggle.has-errors:hover{background:#ffcdd2}.error-log-panel{margin:0 auto var(--spacing-lg);max-width:1400px;padding:0 var(--spacing-lg)}.error-log-header{align-items:center;background:#ffebee;border:1px solid #ffcdd2;border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.error-log-header h3{color:#c62828;font-size:16px;font-weight:600;margin:0}.clear-errors-btn{background:#fff;border:1px solid #ffcdd2;border-radius:var(--radius-sm);color:#c62828;cursor:pointer;font-family:inherit;font-size:12px;padding:6px 12px;transition:all .2s ease}.clear-errors-btn:hover{background:#ffcdd2}.no-errors{color:var(--text-secondary);font-size:14px;margin:0;padding:var(--spacing-lg);text-align:center}.error-log-list,.no-errors{background:#fff;border:1px solid #ffcdd2;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.error-log-list{max-height:300px;overflow-y:auto}.error-log-item{border-bottom:1px solid #ffebee;padding:var(--spacing-sm) var(--spacing-md)}.error-log-item:last-child{border-bottom:none}.error-log-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.error-source{background:#ffebee;border-radius:var(--radius-sm);color:#c62828;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.error-time{color:var(--text-secondary);font-size:11px}.error-log-message{color:var(--text-primary);font-size:13px;line-height:1.4}.relationship-profiles-page{background:var(--cream);color:var(--text-primary);min-height:100vh}.profiles-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:max(1.5rem,calc(env(safe-area-inset-top) + 1rem)) 0 1.5rem}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.back-button{background:#0000;border:1px solid var(--soft-gray);border-radius:8px;color:var(--text-primary);padding:.5rem 1rem;transition:all .2s ease}.back-button:hover{background:var(--soft-gray);border-color:var(--warm-gray)}.header-logo{height:40px;width:auto}.profiles-header h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0 0 .5rem}.subtitle{color:var(--text-secondary);margin:0}.profiles-main{padding:2rem 0}.container{padding:0 1rem}.error-message,.success-message{margin-bottom:1.5rem;padding:1rem}.success-message{background:#7fa98426;border:1px solid var(--success);border-radius:8px;color:var(--success)}.stats-overview{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.stat-card{padding:1.5rem;text-align:center}.stat-number{font-size:2.5rem}.stat-label{font-size:.9rem;margin-top:.25rem}.card{border:1px solid var(--soft-gray);border-radius:16px;padding:1.5rem}.relationship-map-section{margin-bottom:2rem}.relationship-map-section h2{font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.relationship-map{align-items:center;background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:16px;display:flex;height:400px;justify-content:center;overflow:hidden;position:relative}.map-center{position:absolute;z-index:10}.replica-node{align-items:center;display:flex;flex-direction:column;gap:.5rem}.replica-node .node-avatar{align-items:center;background:linear-gradient(135deg,#4a90a4,#3a7a8e);border-radius:50%;box-shadow:0 0 30px #4a90a466;display:flex;font-size:2rem;font-weight:600;height:80px;justify-content:center;width:80px}.replica-node .node-name{color:var(--text-primary);font-size:1rem;font-weight:500}.map-members{height:100%;position:absolute;width:100%}.member-node{animation:fadeInNode .5s ease forwards;animation-delay:calc(var(--index)*.1s);cursor:pointer;left:50%;opacity:0;position:absolute;top:50%;transform:rotate(var(--angle)) translateX(140px) rotate(calc(var(--angle)*-1));transition:transform .3s ease}@keyframes fadeInNode{to{opacity:1}}.member-node:hover{transform:rotate(var(--angle)) translateX(150px) rotate(calc(var(--angle)*-1)) scale(1.1)}.node-connector{background:linear-gradient(90deg,#4a90a480,#0000);height:2px;position:absolute;right:100%;top:50%;transform:translateY(-50%);width:100px}.node-content{flex-direction:column;gap:.25rem}.member-node .node-avatar,.node-content{align-items:center;display:flex;position:relative}.member-node .node-avatar{background:linear-gradient(135deg,#4a90a4,#3a7a8e);border-radius:50%;font-size:1.25rem;font-weight:600;height:56px;justify-content:center;width:56px;z-index:2}.member-node.needs-profile .node-avatar{background:var(--warm-white);border:2px dashed var(--warm-gray)}.completion-ring{height:64px;left:50%;position:absolute;top:-4px;transform:translateX(-50%);width:64px;z-index:1}.completion-ring svg{height:100%;transform:rotate(-90deg);width:100%}.node-name{color:var(--text-primary);font-size:.85rem;font-weight:500;max-width:80px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.node-relation{color:var(--text-secondary);font-size:.75rem}.add-badge{background:linear-gradient(135deg,#4a90a4,#3a7a8e);font-size:.7rem}.add-badge,.pending-badge{border-radius:10px;color:#fff;margin-top:.25rem;padding:.2rem .5rem}.pending-badge{font-size:.65rem}.member-node.is-pending .node-avatar,.pending-badge{background:linear-gradient(135deg,#f59e0b,#d97706)}.add-member-section{background:#fff;border:1px solid var(--soft-gray);border-radius:12px;margin-bottom:2rem;padding:1.5rem;text-align:center}.btn-add-member{margin-bottom:.75rem}.add-member-hint{color:var(--text-secondary);font-size:.9rem;margin:0}.new-member-form{background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:12px;margin-bottom:2rem;padding:1.5rem;text-align:left}.new-member-form .form-group{margin-bottom:1rem}.new-member-form .form-group:last-child{margin-bottom:0}.profiles-section{margin-bottom:2rem}.profiles-section h2{font-size:1.5rem;font-weight:500;margin:0 0 1rem}.profiles-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.profile-card{display:flex;flex-direction:column;gap:1rem}.profile-card.needs-profile{border-color:var(--warm-gray);border-style:dashed}.profile-card.pending-profile{border-color:#f59e0b;overflow:hidden;position:relative}.pending-banner{color:#fff;font-size:.8rem;margin:-1.5rem -1.5rem 1rem;padding:.5rem 1rem;text-align:center}.pending-banner,.profile-avatar.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.completion-badge.pending{background:#f59e0b33;color:#d97706}.member-email{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.profile-header{align-items:center;display:flex;gap:1rem}.profile-avatar{align-items:center;background:linear-gradient(135deg,#4a90a4,#3a7a8e);border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:600;height:56px;justify-content:center;width:56px}.profile-avatar.empty{background:var(--warm-white);border:2px dashed var(--warm-gray)}.profile-info{flex:1 1}.profile-info h3{color:var(--text-primary);font-size:1.1rem;font-weight:500;margin:0}.profile-info .display-name{color:var(--primary);font-size:.95rem;margin:.25rem 0 0}.profile-info .relationship-label{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0 0}.profile-info .access-level{color:var(--warm-gray);font-size:.85rem;margin:.25rem 0 0}.completion-badge{background:var(--soft-gray);border-radius:20px;color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:.35rem .75rem}.completion-badge[data-completion="100"]{background:#7fa98433;color:var(--success)}.profile-detail{display:flex;font-size:.9rem;gap:.5rem}.detail-label{color:var(--warm-gray);flex-shrink:0}.detail-value{color:var(--text-primary)}.profile-actions{display:flex;gap:.75rem;margin-top:auto}.profile-form-section{margin-bottom:2rem}.form-header{align-items:center;border-bottom:1px solid var(--soft-gray);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.form-header h2{font-size:1.25rem;font-weight:500;margin:0}.highlight-name{color:var(--primary)}.close-btn{background:#0000;border:none;color:var(--warm-gray);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:color .2s ease}.close-btn:hover{color:var(--text-primary)}.template-selection{text-align:center}.template-selection h2{font-size:1.25rem;margin:0 0 .5rem}.step-description{color:var(--text-secondary);margin:0 0 2rem}.setup-mode-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.mode-card{background:var(--warm-white);border:2px solid var(--soft-gray);border-radius:12px;cursor:pointer;padding:1.5rem;text-align:center;transition:all .2s ease}.mode-card:hover{background:#4a90a40d;border-color:var(--primary)}.mode-card.selected{background:#4a90a41a;border-color:var(--primary)}.mode-icon{font-size:2rem;margin-bottom:.5rem}.mode-card h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 .5rem}.mode-card p{font-size:.9rem;margin:0}.mode-card p,.mode-time{color:var(--text-secondary)}.mode-time{background:var(--soft-gray);border-radius:4px;display:inline-block;font-size:.8rem;margin-top:.75rem;padding:.25rem .5rem}.template-section{border-top:1px solid var(--soft-gray);margin-top:2rem;padding-top:2rem}.template-section h3{color:var(--text-secondary);font-size:1rem;margin:0 0 1rem}.template-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.template-btn{align-items:center;background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:.35rem;min-width:80px;padding:.75rem 1rem;transition:all .2s ease}.template-btn:hover{background:var(--soft-gray);border-color:var(--warm-gray)}.template-btn.selected{background:#4a90a41a;border-color:var(--primary)}.template-icon{font-size:1.5rem}.template-name{font-size:.8rem}.wizard-container{display:flex;flex-direction:column;gap:1.5rem}.wizard-progress{align-items:center;display:flex;gap:1rem}.progress-track{background:var(--soft-gray);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4a90a4,#3a7a8e);border-radius:3px;height:100%;transition:width .3s ease}.progress-text{color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.preview-panel{background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:12px;overflow:hidden}.preview-header{align-items:center;background:var(--soft-gray);color:var(--text-secondary);display:flex;font-size:.85rem;gap:.5rem;padding:.75rem 1rem}.preview-icon{font-size:1rem}.preview-content{padding:1rem}.preview-message{background:#4a90a41a;border-radius:12px;max-width:80%;padding:.75rem 1rem}.preview-message.replica{margin-left:auto;text-align:left}.preview-name{color:var(--warm-gray);display:block;font-size:.75rem;margin-bottom:.25rem}.preview-message p{color:var(--text-primary);font-size:.95rem;line-height:1.4;margin:0}.wizard-form{display:flex;flex-direction:column;gap:1.5rem}.wizard-step{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.wizard-step h3{color:var(--primary);font-size:1.25rem;font-weight:500;margin:0 0 .5rem}.wizard-step .step-description{margin:0 0 1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.95rem;margin-bottom:.5rem}.form-group input,.form-group textarea{background:#fff;border:1px solid var(--soft-gray);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a90a41a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--warm-gray)}.form-group textarea{min-height:80px}.help-text{display:block;font-size:.85rem;margin-top:.35rem}.wizard-nav{border-top:1px solid var(--soft-gray);display:flex;gap:1rem;justify-content:space-between;padding-top:1rem}.skip-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:block;font-size:.9rem;padding:.5rem;text-align:center;transition:color .2s ease}.skip-link:hover{color:var(--text-primary)}.empty-state{padding:3rem 2rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:var(--text-primary);font-weight:500;margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0}.mt-md{margin-top:1rem}.btn{padding:.75rem 1.5rem}.btn-primary{background:linear-gradient(135deg,#4a90a4,#3a7a8e)}.btn-primary:hover{box-shadow:0 4px 12px #4a90a466;transform:translateY(-2px)}.btn-save{min-width:140px}.btn-secondary{background:#0000}.btn-secondary:hover{background:var(--warm-white)}.btn-danger{background:#d676761a;border:1px solid #d676764d;color:var(--error)}.btn-danger:hover{background:#d6767633}.btn-sm{font-size:.9rem;padding:.5rem 1rem}.btn-full{width:100%}.spinner{margin:4rem auto}@media (max-width:768px){.profiles-header h1{font-size:1.5rem}.stats-overview{gap:.5rem;grid-template-columns:repeat(3,1fr)}.stat-card{padding:1rem .5rem}.stat-number{font-size:1.75rem}.stat-label{font-size:.75rem}.relationship-map{height:350px}.replica-node .node-avatar{font-size:1.5rem;height:60px;width:60px}.member-node{transform:rotate(var(--angle)) translateX(100px) rotate(calc(var(--angle)*-1))}.member-node:hover{transform:rotate(var(--angle)) translateX(105px) rotate(calc(var(--angle)*-1)) scale(1.05)}.member-node .node-avatar{font-size:1rem;height:44px;width:44px}.completion-ring{height:52px;width:52px}.node-connector{width:60px}.profiles-grid,.setup-mode-cards{grid-template-columns:1fr}.wizard-nav{flex-direction:column-reverse}.wizard-nav .btn{width:100%}.preview-message{max-width:100%}.form-group input,.form-group textarea{font-size:16px;padding:1rem}}@media (max-width:480px){.container{padding:0 .75rem}.card{border-radius:12px;padding:1rem}.relationship-map{height:300px}.replica-node .node-avatar{font-size:1.25rem;height:50px;width:50px}.member-node{transform:rotate(var(--angle)) translateX(80px) rotate(calc(var(--angle)*-1))}.member-node .node-avatar{font-size:.9rem;height:36px;width:36px}.completion-ring{height:44px;width:44px}.node-connector{width:40px}.node-name{font-size:.75rem;max-width:60px}.node-relation{display:none}.template-grid{gap:.5rem}.template-btn{min-width:65px;padding:.5rem .75rem}.template-icon{font-size:1.25rem}.template-name{font-size:.7rem}}.access-section{margin-bottom:2rem;margin-top:2rem}.access-section h2{font-size:1.5rem;font-weight:500;margin:0 0 .5rem}.section-description{color:var(--text-secondary);font-size:.95rem;margin:0 0 1.5rem}.permissions-list{display:flex;flex-direction:column;gap:1rem}.permission-card{flex-wrap:wrap;justify-content:space-between}.permission-card,.permission-info{align-items:center;display:flex;gap:1rem}.permission-avatar{align-items:center;background:linear-gradient(135deg,#4a90a4,#3a7a8e);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:600;height:48px;justify-content:center;width:48px}.permission-details h4{color:var(--text-primary);font-size:1rem;font-weight:500;margin:0}.permission-email{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.permission-relationship{color:var(--warm-gray);font-size:.85rem;margin:.25rem 0 0}.permission-actions{align-items:center;display:flex;gap:1rem}.access-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:.35rem .75rem}.access-badge.user{background:#4a90a426;color:var(--primary)}.access-badge.admin{background:#7fa98426;color:var(--success)}.access-badge.minor{background:#f59e0b26;color:#d97706}@media (hover:none){.member-node:hover{transform:rotate(var(--angle)) translateX(140px) rotate(calc(var(--angle)*-1))}.btn:hover{transform:none}.btn:active{transform:scale(.98)}.member-node:active{transform:rotate(var(--angle)) translateX(150px) rotate(calc(var(--angle)*-1)) scale(1.1)}}@supports (padding-bottom:env(safe-area-inset-bottom)){.profiles-main{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}}.add-member-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:.75rem}.btn-invite-email{align-items:center;display:flex;gap:.5rem}.modal-overlay{animation:fadeIn .2s ease;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;max-width:480px;padding:2rem;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{background:#0000;border:none;color:var(--warm-gray);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;position:absolute;right:1rem;top:1rem;transition:color .2s ease}.invite-modal h2,.modal-close:hover{color:var(--text-primary)}.invite-modal h2{font-size:1.5rem;margin:0 0 .5rem}.modal-description{color:var(--text-secondary);font-size:.95rem;margin:0 0 1.5rem}.invite-form{display:flex;flex-direction:column;gap:1rem}.invite-form .form-group select{background:#fff;border:1px solid var(--soft-gray);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.invite-form .form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a90a41a;outline:none}.modal-actions{border-top:1px solid var(--soft-gray);display:flex;gap:1rem;margin-top:1rem;padding-top:1rem}.modal-actions .btn{flex:1 1}.invite-success{padding:1rem 0;text-align:center}.invite-success .success-icon{align-items:center;background:var(--success);border-radius:50%;color:#fff;display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 1.5rem;width:64px}.invite-success h2{color:var(--text-primary);margin:0 0 .75rem}.invite-success p{color:var(--text-secondary);margin:0 0 1.5rem}.invite-link-box{background:var(--warm-white);border:1px solid var(--soft-gray);border-radius:12px;margin:1.5rem 0;padding:1rem}.invite-link-label{color:var(--text-secondary);font-size:.85rem;margin:0 0 .75rem}.invite-link-container{display:flex;gap:.5rem}.invite-link-input{background:#fff;border:1px solid var(--soft-gray);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:.85rem;padding:.75rem}.btn-copy{flex-shrink:0}.mt-lg{margin-top:1.5rem}.invitations-section{margin-bottom:2rem}.invitations-section h2{font-size:1.5rem;font-weight:500;margin:0 0 1rem}.invitations-list{display:flex;flex-direction:column;gap:1rem}.invitation-card{flex-wrap:wrap;justify-content:space-between}.invitation-card,.invitation-info{align-items:center;display:flex;gap:1rem}.invitation-avatar{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:600;height:48px;justify-content:center;width:48px}.invitation-details h4{color:var(--text-primary);font-size:1rem;font-weight:500;margin:0}.invitation-email{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.invitation-relationship{color:var(--warm-gray);font-size:.85rem;margin:.25rem 0 0}.invitation-expires{color:var(--text-muted);font-size:.8rem;margin:.25rem 0 0}.invitation-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}@media (max-width:768px){.add-member-buttons{flex-direction:column}.add-member-buttons .btn{width:100%}.modal-content{border-radius:12px;padding:1.5rem}.modal-actions{flex-direction:column-reverse}.invitation-card{align-items:flex-start;flex-direction:column}.invitation-actions{justify-content:flex-end;width:100%}}.memories-dashboard{background:var(--cream);min-height:100vh}.memories-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:max(16px,calc(env(safe-area-inset-top) + 12px)) 0 24px}.memories-header .header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.memories-header .back-button{background:none;border:1px solid var(--soft-gray);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.memories-header .back-button:hover{background:var(--soft-gray)}.memories-header .header-logo{height:32px;width:auto}.memories-header .header-spacer{width:80px}.memories-header .header-content{align-items:flex-end;display:flex;justify-content:space-between}.memories-header .header-text h1{color:var(--text-primary);font-size:28px;font-weight:600;margin:0 0 4px}.memories-header .header-text p{color:var(--text-secondary);font-size:15px;margin:0}.memories-main{padding:24px 0 48px}.error-message{align-items:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.error-message button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--soft-gray);border-radius:12px;box-shadow:var(--shadow-sm);gap:16px;padding:20px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background:linear-gradient(135deg,#4a90a41a,#3a7a8e1a);border-radius:12px;font-size:32px;height:56px;justify-content:center;width:56px}.stat-content{display:flex;flex-direction:column}.stat-number{color:var(--primary);font-size:28px;font-weight:700;line-height:1.2}.stat-label{color:var(--text-secondary);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.filters-section{margin-bottom:24px}.search-box{margin-bottom:16px;position:relative}.search-box input{background:#fff;border:2px solid var(--soft-gray);border-radius:12px;font-family:inherit;font-size:15px;padding:14px 40px 14px 16px;transition:all .2s ease;width:100%}.search-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a90a41a;outline:none}.search-box .search-clear{align-items:center;background:var(--soft-gray);border:none;border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px}.search-box .search-clear:hover{background:var(--primary);color:#fff}.category-filters{display:flex;flex-wrap:wrap;gap:8px}.category-btn{align-items:center;background:#fff;border:1px solid var(--soft-gray);border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:10px 16px;transition:all .2s ease}.category-btn:hover{border-color:var(--primary);color:var(--primary)}.category-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.category-icon{font-size:14px}.memories-list{display:flex;flex-direction:column;gap:16px}.memory-card{background:#fff;border:1px solid var(--soft-gray);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px;transition:all .2s ease}.memory-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.memory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.memory-category{background:#4a90a41a;border-radius:12px;color:var(--primary);font-size:12px;font-weight:500;padding:4px 10px}.memory-date{color:var(--text-secondary);font-size:12px}.memory-content{color:var(--text-primary);font-size:15px;line-height:1.6;margin:0 0 16px}.memory-footer{align-items:center;border-top:1px solid var(--soft-gray);display:flex;justify-content:space-between;padding-top:12px}.memory-references{color:var(--text-secondary);font-size:12px}.memory-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:6px;transition:all .2s ease}.btn-icon:hover{background:var(--soft-gray)}.btn-icon.btn-danger:hover{background:#fee2e2}.memory-edit-form{display:flex;flex-direction:column;gap:12px}.memory-edit-form textarea{border:2px solid var(--soft-gray);border-radius:8px;font-family:inherit;font-size:15px;min-height:100px;padding:12px;resize:vertical;width:100%}.memory-edit-form textarea:focus{border-color:var(--primary);outline:none}.memory-edit-form select{background:#fff;border:2px solid var(--soft-gray);border-radius:8px;font-family:inherit;font-size:14px;padding:10px 12px}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.empty-memories{background:#fff;border:1px solid var(--soft-gray);border-radius:12px;padding:60px 20px;text-align:center}.empty-memories .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-memories h3{color:var(--text-primary);font-size:20px;margin:0 0 8px}.empty-memories p{color:var(--text-secondary);font-size:15px;margin:0 auto 20px;max-width:400px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease;background:#fff;border-radius:16px;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--soft-gray);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{font-size:18px;font-weight:600;margin:0}.btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:20px;padding:4px}.btn-close:hover{color:var(--text-primary)}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group select,.form-group textarea{border:2px solid var(--soft-gray);border-radius:8px;font-family:inherit;font-size:15px;padding:12px;transition:all .2s ease;width:100%}.form-group textarea{min-height:120px;resize:vertical}.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none}.modal-footer{background:var(--warm-white);border-top:1px solid var(--soft-gray);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.memories-loading{padding:24px}.skeleton-header{border-radius:8px}.skeleton-header,.skeleton-stats{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--soft-gray) 25%,#f0ede8 50%,var(--soft-gray) 75%);background-size:200% 100%;height:100px;margin-bottom:24px}.skeleton-stats{border-radius:12px}.skeleton-list{display:flex;flex-direction:column;gap:16px}.skeleton-card{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--soft-gray) 25%,#f0ede8 50%,var(--soft-gray) 75%);background-size:200% 100%;border-radius:12px;height:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){.memories-header .header-content{align-items:flex-start;flex-direction:column;gap:16px}.memories-header .header-content .btn{width:100%}.stats-grid{grid-template-columns:1fr}.category-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.category-btn{flex-shrink:0;white-space:nowrap}.category-label{display:none}.category-btn.active .category-label{display:inline}}.voice-cloning-page{background:#fefdf8;background:var(--cream-white,#fefdf8);min-height:100vh}.voice-cloning-page .page-header{background:#fff;background:var(--white,#fff);border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--soft-gray,#e5e5e5);padding:max(1rem,calc(env(safe-area-inset-top) + .75rem)) 1rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.voice-cloning-page .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:600px}.voice-cloning-page .back-button{background:none;border:none;color:#2d5a27;color:var(--deep-forest,#2d5a27);cursor:pointer;font-size:1rem;padding:.5rem}.voice-cloning-page .back-button:hover{opacity:.8}.voice-cloning-page h1{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.25rem;margin:0}.voice-cloning-page .header-spacer{width:60px}.voice-cloning-page .page-content{margin:0 auto;max-width:600px;padding:1.5rem}.loading-container{align-items:center;color:#2d5a27;color:var(--deep-forest,#2d5a27);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.spinner{border:3px solid #e5e5e5;border-top-color:#2d5a27;border:3px solid var(--soft-gray,#e5e5e5);border-top-color:var(--deep-forest,#2d5a27)}.spinner,.spinner-small{animation:spin 1s linear infinite}.spinner-small{border:2px solid #e5e5e5;border-top-color:#2d5a27;border:2px solid var(--soft-gray,#e5e5e5);border-radius:50%;border-top-color:var(--deep-forest,#2d5a27);height:24px;width:24px}.alert{align-items:center;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.25rem;opacity:.7}.alert-close:hover{opacity:1}.step-intro{padding:2rem 0;text-align:center}.intro-icon{font-size:4rem;margin-bottom:1rem}.step-intro h2{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.75rem;margin:0 0 .5rem}.intro-subtitle{color:#666;font-size:1.1rem;line-height:1.5;margin:0 0 2rem}.intro-instructions{background:#fff;background:var(--white,#fff);border:1px solid #e5e5e5;border:1px solid var(--soft-gray,#e5e5e5);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;text-align:left}.intro-instructions h3{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1rem;margin:0 0 1rem}.intro-instructions ul{list-style:none;margin:0;padding:0}.intro-instructions li{align-items:flex-start;color:#444;display:flex;gap:.75rem;line-height:1.4;padding:.5rem 0}.check-icon{color:#22c55e}.intro-preview{background:#f8fafc;border-radius:12px;margin-bottom:2rem;padding:1rem 1.5rem}.intro-preview p{color:#666;font-size:.95rem;line-height:1.5;margin:0}.step-recording{padding:1rem 0}.recording-progress{margin-bottom:1.5rem}.progress-steps{display:flex;gap:6px;margin-bottom:.75rem}.progress-step{background:#e5e5e5;background:var(--soft-gray,#e5e5e5);border-radius:3px;flex:1 1;height:6px;transition:background .3s ease}.progress-step.completed{background:#22c55e}.progress-step.current{background:#2d5a27;background:var(--deep-forest,#2d5a27)}.progress-info{color:#666;display:flex;font-size:.85rem;justify-content:space-between}.prompt-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e5e5;border:1px solid var(--soft-gray,#e5e5e5);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.prompt-header{gap:.75rem;margin-bottom:.75rem}.prompt-header,.prompt-number{align-items:center;display:flex}.prompt-number{background:#2d5a27;background:var(--deep-forest,#2d5a27);border-radius:50%;color:#fff;flex-shrink:0;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.prompt-header h3{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.1rem;margin:0}.prompt-instruction{color:#666;font-size:.9rem;font-style:italic;margin:0 0 1rem}.prompt-text{background:#f8fafc;border-radius:12px;color:#333;font-size:1.1rem;line-height:1.6;padding:1.25rem}.recording-controls{margin-bottom:1.5rem}.btn-record{align-items:center;background:#dc2626;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;gap:.75rem;justify-content:center;padding:1.25rem 2rem;transition:background .2s ease;width:100%}.btn-record:hover{background:#b91c1c}.record-dot{background:#fff;border-radius:50%;height:14px;width:14px}.recording-active{align-items:center;display:flex;flex-direction:column;gap:1rem}.recording-indicator{align-items:center;background:#fef2f2;border-radius:12px;display:flex;gap:.75rem;justify-content:center;padding:1rem;width:100%}.recording-dot{background:#dc2626;border-radius:50%;height:12px;width:12px}.recording-dot.pulse{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.recording-time{font-feature-settings:"tnum";color:#dc2626;font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:600}.btn-stop{background:#374151;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;padding:1rem 2rem;transition:background .2s ease;width:100%}.btn-stop:hover{background:#1f2937}.recording-preview{display:flex;flex-direction:column;gap:1rem}.recording-preview audio{height:48px;width:100%}.recording-duration{color:#666;font-size:.9rem;margin:0;text-align:center}.preview-actions{display:flex;gap:.75rem}.preview-actions .btn{flex:1 1}.recording-tips{background:#fef9e7;border:1px solid #fde68a;border-radius:12px;padding:1rem}.recording-tips p{color:#92400e;font-size:.9rem;margin:0}.step-review{padding:2rem 0;text-align:center}.review-icon{align-items:center;background:#22c55e;border-radius:50%;color:#fff;display:flex;font-size:2rem;height:64px;justify-content:center;margin:0 auto 1rem;width:64px}.step-review h2{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.75rem;margin:0 0 .5rem}.review-subtitle{color:#666;font-size:1.1rem;margin:0 0 2rem}.review-summary{display:flex;gap:3rem;justify-content:center;margin-bottom:2rem}.summary-stat{align-items:center;display:flex;flex-direction:column}.summary-stat .stat-value{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:2.5rem;font-weight:700}.summary-stat .stat-label{color:#666;font-size:.9rem}.review-info{background:#f8fafc;border-radius:12px;margin-bottom:2rem;padding:1rem 1.5rem}.review-info p{color:#666;font-size:.95rem;line-height:1.5;margin:0}.review-actions{display:flex;flex-direction:column;gap:.75rem}.processing-status{align-items:center;color:#2d5a27;color:var(--deep-forest,#2d5a27);display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.step-complete{padding:2rem 0;text-align:center}.complete-icon{font-size:4rem;margin-bottom:1rem}.step-complete h2{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.75rem;margin:0 0 .5rem}.complete-subtitle{color:#666;font-size:1.1rem;line-height:1.5;margin:0 0 2rem}.voice-card{align-items:center;background:#fff;background:var(--white,#fff);border:2px solid #22c55e;border-radius:16px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.25rem}.voice-info{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}.voice-label{color:#666;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.voice-name{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.1rem;font-weight:600}.status-badge{border-radius:20px;font-size:.8rem;font-weight:500;padding:.375rem .75rem}.status-badge.active{background:#dcfce7;color:#166534}.complete-actions{display:flex;flex-direction:column;gap:.75rem}.test-voice-section{background:#f0fdf4;border:1px solid #86efac;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.test-voice-section h3{color:#2d5a27;color:var(--deep-forest,#2d5a27);font-size:1.1rem;margin:0 0 .5rem}.test-voice-section p{color:#666;font-size:.9rem;margin:0 0 1rem}.test-audio-player{margin-bottom:1rem}.test-audio-player audio{height:40px;max-width:300px;width:100%}.btn-test-voice{align-items:center;display:inline-flex;gap:.5rem;justify-content:center;min-width:160px}.spinner-tiny{animation:spin 1s linear infinite;border:2px solid #ccc;border-radius:50%;border-top:2px solid var(--deep-forest,#2d5a27);height:16px;width:16px}.btn{align-items:center;border-radius:12px;display:inline-flex;font-size:1rem;gap:.5rem;justify-content:center;padding:.875rem 1.5rem}.btn-primary{background:#2d5a27;background:var(--deep-forest,#2d5a27)}.btn-primary:hover{background:#234a1f}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#fff;background:var(--white,#fff);border:1px solid #e5e5e5;border:1px solid var(--soft-gray,#e5e5e5);color:#2d5a27;color:var(--deep-forest,#2d5a27)}.btn-secondary:hover{background:#f9fafb}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-danger-text{color:#dc2626}.btn-danger-text:hover{background:#fef2f2;border-color:#fecaca}.btn-lg{font-size:1.125rem;padding:1.125rem 2rem}@media (max-width:600px){.voice-cloning-page .page-content{padding:1rem}.complete-icon,.intro-icon{font-size:3rem}.step-complete h2,.step-intro h2,.step-review h2{font-size:1.5rem}.complete-subtitle,.intro-subtitle,.review-subtitle{font-size:1rem}.review-summary{gap:2rem}.summary-stat .stat-value{font-size:2rem}.prompt-text{font-size:1rem;padding:1rem}.recording-time{font-size:1.25rem}}.privacy-page{background-color:var(--cream);min-height:100vh}.privacy-header{background:#fff;border-bottom:1px solid var(--soft-gray);box-shadow:0 2px 4px #0000000a;padding:var(--spacing-xl) 0;padding-top:max(var(--spacing-xl),calc(env(safe-area-inset-top) + 16px))}.privacy-header-top{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.privacy-logo{height:auto;width:130px}.back-button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;padding:var(--spacing-xs) 0;transition:opacity .2s ease}.back-button:hover{opacity:.7}.privacy-header h1{color:var(--text-primary);font-size:32px;margin-bottom:var(--spacing-xs)}.privacy-subtitle{color:var(--text-secondary);font-size:16px;margin:0 0 var(--spacing-sm) 0}.last-updated{color:var(--warm-gray);font-size:14px;font-style:italic;margin:0}.privacy-main{padding:var(--spacing-xl) 0}.privacy-content{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:0 auto;max-width:800px;padding:var(--spacing-xl)}.privacy-section{border-bottom:1px solid var(--soft-gray);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.privacy-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.privacy-section h2{border-bottom:2px solid var(--primary);color:var(--text-primary);display:inline-block;font-size:22px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs)}.privacy-section h3{color:var(--text-primary);font-size:16px;margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg)}.privacy-section p{color:var(--text-secondary);font-size:15px;line-height:1.7;margin-bottom:var(--spacing-md)}.privacy-section ul{margin:var(--spacing-sm) 0 var(--spacing-md) 0;padding-left:var(--spacing-lg)}.privacy-section li{color:var(--text-secondary);font-size:15px;line-height:1.7;margin-bottom:var(--spacing-xs)}.privacy-section li strong{color:var(--text-primary)}.highlight-box{background:#fef3e2;border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:var(--spacing-md) 0;padding:var(--spacing-md)}.highlight-box strong{color:var(--text-primary)}.contact-info{background:var(--soft-gray);border-radius:var(--radius-sm);margin:var(--spacing-md) 0;padding:var(--spacing-md)}.contact-info p{margin-bottom:var(--spacing-xs)}.contact-info p:last-child{margin-bottom:0}.summary-section{background:#f0f7f9;border:1px solid #4a90a433;border-radius:var(--radius-md);padding:var(--spacing-lg)}.summary-section h2{border-bottom-color:var(--primary)}.summary-list{list-style:none;padding-left:0}.summary-list li{border-bottom:1px solid #4a90a41a;display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) 0}.summary-list li:last-child{border-bottom:none}.summary-list li strong{color:var(--primary);min-width:120px}.privacy-footer{background:#fff;border-top:1px solid var(--soft-gray);padding:var(--spacing-lg) 0;text-align:center}.privacy-footer p{color:var(--text-secondary);font-size:14px;margin:0}.privacy-footer a{color:var(--primary);text-decoration:none}.privacy-footer a:hover{text-decoration:underline}@media (max-width:768px){.privacy-header h1{font-size:26px}.privacy-content{padding:var(--spacing-lg)}.privacy-section h2{font-size:20px}.summary-list li{flex-direction:column;gap:var(--spacing-xs)}.summary-list li strong{min-width:auto}}.pricing-page{background-color:var(--cream);min-height:100vh}.pricing-header{background:#fff;border-bottom:1px solid var(--soft-gray);padding:max(1rem,calc(env(safe-area-inset-top) + .75rem)) 0 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pricing-header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1.5rem}.back-link{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.5rem;text-decoration:none;transition:color .2s}.back-link:hover{color:var(--primary)}.back-arrow{font-size:1.2rem}.header-brand .header-logo{height:60px;width:auto}.pricing-hero{background:linear-gradient(135deg,#4a90a4,#3d7a8c);color:#fff;padding:4rem 1.5rem;text-align:center}.pricing-hero h1{font-size:2.5rem;font-weight:600;margin:0 auto 1rem;max-width:600px}.hero-subtitle{font-size:1.2rem;line-height:1.6;margin:0 auto;max-width:500px;opacity:.9}.pricing-section{padding:3rem 1.5rem}.pricing-section .container{margin:0 auto;max-width:600px}.billing-toggle{background:#fff;border-radius:50px;box-shadow:0 2px 8px #00000014;gap:0;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:320px;padding:4px}.billing-toggle,.toggle-btn{display:flex;justify-content:center}.toggle-btn{align-items:center;background:#0000;border:none;border-radius:50px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.toggle-btn.active{background:var(--primary);color:#fff}.save-badge{background:#d4af37;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .4rem}.toggle-btn.active .save-badge{background:#fff;color:var(--primary)}.pricing-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;overflow:hidden}.card-header{background:linear-gradient(135deg,#4a90a40d,#d4af370d);border-bottom:1px solid var(--soft-gray);padding:2rem 2rem 1.5rem;text-align:center}.card-logo{height:60px;margin-bottom:.5rem;width:auto}.card-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.card-description{color:var(--text-secondary);font-size:1rem;margin:0}.price-breakdown{background:#fafaf8;padding:2rem}.price-item{background:#fff;border:1px solid var(--soft-gray);border-radius:12px;justify-content:space-between;padding:1rem}.price-item,.price-label{align-items:center;display:flex}.price-label{color:var(--text-primary);font-weight:500;gap:.75rem}.label-icon{font-size:1.25rem}.label-text{display:flex;flex-direction:column;gap:2px}.label-subtext{color:var(--text-secondary);font-size:.75rem;font-weight:400}.price-value{align-items:baseline;display:flex;gap:2px}.price-value .currency{color:var(--text-secondary);font-size:1.25rem}.price-value .amount{color:var(--primary);font-size:2rem;font-weight:700}.price-value .period{color:var(--text-secondary);font-size:.9rem}.price-divider{color:var(--text-secondary);font-size:1.25rem;font-weight:300;padding:.75rem;text-align:center}.family-calculator{background:#fff;border-bottom:1px solid var(--soft-gray);border-top:1px solid var(--soft-gray);padding:1.5rem 2rem}.calculator-label{color:var(--text-secondary);display:block;font-size:.95rem;margin-bottom:1rem;text-align:center}.calculator-controls{gap:1.5rem;margin-bottom:1rem}.calc-btn,.calculator-controls{align-items:center;display:flex;justify-content:center}.calc-btn{background:#fff;border:2px solid var(--soft-gray);border-radius:50%;color:var(--text-primary);cursor:pointer;font-size:1.5rem;height:44px;transition:all .2s;width:44px}.calc-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.calc-btn:disabled{cursor:not-allowed;opacity:.4}.family-count{min-width:80px;text-align:center}.count-number{color:var(--primary);display:block;font-size:2.5rem;font-weight:700;line-height:1}.count-label{color:var(--text-secondary);font-size:.85rem}.calculator-result{align-items:center;background:#4a90a414;border-radius:10px;display:flex;gap:.75rem;justify-content:center;padding:1rem}.result-label{color:var(--text-secondary);font-size:.95rem}.result-value{color:var(--primary);font-size:1.5rem;font-weight:700}.savings-note{color:#2e7d32;font-size:.9rem;font-weight:500;margin-top:.75rem;text-align:center}.features-list{padding:1.5rem 2rem}.features-list h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 1rem}.features-list ul{grid-gap:.75rem;display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.features-list li{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.75rem;line-height:1.4}.check-icon{color:#2e7d32;flex-shrink:0;font-weight:700}.pricing-card .cta-button{background:linear-gradient(135deg,#d4af37,#b8942e);border:none;border-radius:12px;color:#fff;cursor:pointer;display:block;font-size:1.1rem;font-weight:600;margin:1rem 2rem;padding:1rem;transition:all .2s;width:calc(100% - 4rem)}.pricing-card .cta-button:hover{box-shadow:0 6px 20px #d4af3766;transform:translateY(-2px)}.cta-note{color:var(--text-secondary);font-size:.85rem;margin:0;padding-bottom:1.5rem;text-align:center}.trust-section{background:#fff;border-radius:12px;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem;padding:1.5rem}.trust-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.5rem}.trust-icon{font-size:1.1rem}.how-it-works{background:#fff;padding:4rem 1.5rem}.how-it-works .container{margin:0 auto;max-width:1000px}.how-it-works h2{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0 0 2.5rem;text-align:center}.steps-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.step-card{padding:1.5rem;position:relative;text-align:center}.step-number{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:.85rem;font-weight:600;height:28px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);width:28px}.step-icon{font-size:2.5rem;margin:1.5rem 0 1rem}.step-card h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.step-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.pricing-faq{background:var(--cream);padding:4rem 1.5rem}.pricing-faq .container{margin:0 auto;max-width:900px}.pricing-faq h2{color:var(--text-primary);font-size:2rem;font-weight:600;margin:0 0 2.5rem;text-align:center}.faq-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}.faq-item{background:#fff;border:1px solid var(--soft-gray);border-radius:12px;padding:1.5rem}.faq-item h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .75rem}.faq-item p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.final-cta{background:linear-gradient(135deg,#4a90a4,#3d7a8c);padding:4rem 1.5rem}.final-cta .container{margin:0 auto;max-width:600px}.cta-content{color:#fff;text-align:center}.cta-content h2{font-size:2rem;font-weight:600;margin:0 0 1rem}.cta-content p{font-size:1.1rem;line-height:1.6;margin:0 0 2rem;opacity:.9}.final-cta .cta-button{background:#fff;border:none;border-radius:12px;color:var(--primary);cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;transition:all .2s}.final-cta .cta-button:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.pricing-footer{background:#fff;border-top:1px solid var(--soft-gray);padding:2rem 1.5rem;text-align:center}.pricing-footer .container{margin:0 auto;max-width:1200px}.footer-links{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.footer-links a{color:var(--text-secondary);font-size:.9rem;text-decoration:none}.footer-links a:hover{color:var(--primary)}.footer-links .divider{color:var(--soft-gray)}.copyright{color:var(--warm-gray);font-size:.85rem;margin:0}@media (max-width:900px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.pricing-hero h1{font-size:1.75rem}.hero-subtitle{font-size:1rem}.faq-grid{grid-template-columns:1fr}.trust-section{align-items:center;flex-direction:column;gap:1rem}.features-list,.price-breakdown{padding:1.5rem}.pricing-card .cta-button{margin:1rem 1.5rem;width:calc(100% - 3rem)}}@media (max-width:600px){.steps-grid{grid-template-columns:1fr;margin:0 auto;max-width:300px}.billing-toggle{max-width:100%}.toggle-btn{font-size:.85rem;padding:.6rem 1rem}.save-badge{display:none}}.settings-page{background-color:#fefdf8;background-color:var(--cream,#fefdf8);min-height:100vh}.settings-header{background:#fff;border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--soft-gray,#e5e5e5);box-shadow:0 2px 4px #0000000a;padding:32px 0;padding:var(--spacing-xl,32px) 0;padding-top:max(32px,calc(env(safe-area-inset-top) + 16px));padding-top:max(var(--spacing-xl,32px),calc(env(safe-area-inset-top) + 16px))}.settings-header-top{align-items:center;display:flex;gap:16px;gap:var(--spacing-md,16px);margin-bottom:16px;margin-bottom:var(--spacing-md,16px)}.settings-logo{height:auto;width:130px}.settings-header h1{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:32px;margin-bottom:8px;margin-bottom:var(--spacing-xs,8px)}.settings-subtitle{color:#7f8c8d;color:var(--text-secondary,#7f8c8d);font-size:16px;margin:0}.settings-main{padding:32px 0;padding:var(--spacing-xl,32px) 0}.settings-section{margin-bottom:32px;margin-bottom:var(--spacing-xl,32px)}.section-title{border-bottom:2px solid #d4af37;color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:20px;margin-bottom:16px;margin-bottom:var(--spacing-md,16px);padding-bottom:8px;padding-bottom:var(--spacing-sm,8px)}.settings-card{background:#fff;border-radius:12px;border-radius:var(--radius-md,12px);box-shadow:0 1px 3px #0000000d;overflow:hidden}.setting-item{align-items:center;border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--soft-gray,#e5e5e5);display:flex;justify-content:space-between;padding:16px;padding:var(--spacing-md,16px)}.setting-item:last-child{border-bottom:none}.setting-item label{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:15px;font-weight:600}.setting-item span{color:#7f8c8d;color:var(--text-secondary,#7f8c8d);font-size:15px}.setting-link{align-items:center;background:#fff;border:none;border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--soft-gray,#e5e5e5);color:#2c3e50;color:var(--text-primary,#2c3e50);cursor:pointer;display:flex;font-size:15px;justify-content:space-between;padding:16px;padding:var(--spacing-md,16px);text-align:left;transition:background .2s ease;width:100%}.setting-link:last-child{border-bottom:none}.setting-link:hover{background:#f5f5f5;background:var(--soft-gray,#f5f5f5)}.link-arrow{color:#7f8c8d;color:var(--text-secondary,#7f8c8d);font-size:18px}.danger-zone{margin-top:32px;margin-top:var(--spacing-xl,32px)}.danger-title{border-bottom-color:#e74c3c!important;color:#e74c3c!important}.danger-card{border:1px solid #e74c3c;border-radius:12px;border-radius:var(--radius-md,12px);padding:24px;padding:var(--spacing-lg,24px)}.danger-description{margin-bottom:24px;margin-bottom:var(--spacing-lg,24px)}.danger-description h3{color:#e74c3c;font-size:18px;margin-bottom:8px;margin-bottom:var(--spacing-sm,8px)}.danger-description p{color:#7f8c8d;color:var(--text-secondary,#7f8c8d);font-size:14px;line-height:1.6;margin:0}.btn-danger{background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:background .2s ease}.btn-danger:hover{background:#c0392b}.settings-page .alert{align-items:center;border-radius:12px;border-radius:var(--radius-md,12px);display:flex;justify-content:space-between;margin-bottom:24px;margin-bottom:var(--spacing-lg,24px);padding:16px;padding:var(--spacing-md,16px)}.settings-page .alert-error{background:#fdeaea;border:1px solid #e74c3c;color:#e74c3c}.settings-page .alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:20px}@media (max-width:768px){.settings-header h1{font-size:26px}.section-title{font-size:18px}.setting-item{align-items:flex-start;flex-direction:column;gap:4px}}.invitation-page{align-items:center;background:linear-gradient(135deg,#f5f5f0,#e8e6e1);display:flex;justify-content:center;min-height:100vh;padding:20px}.invitation-container{max-width:480px;width:100%}.invitation-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;padding:40px;text-align:center}.invitation-card.error-card{border-top:4px solid #dc3545}.invitation-card.success-card{border-top:4px solid var(--primary)}.invitation-card .brand{margin-bottom:32px}.invitation-card .logo{height:auto;width:80px}.error-icon{background:#dc3545;font-weight:700}.error-icon,.success-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 24px;width:64px}.success-icon{background:var(--primary)}.redirect-message{color:var(--text-secondary);font-size:14px;margin-top:16px}.spinner-container{align-items:center;display:flex;flex-direction:column;gap:16px;padding:60px 20px}.spinner-container p{color:var(--text-secondary)}.invitation-content h1{color:var(--text-primary);font-size:28px;font-weight:600;margin-bottom:24px}.inviter-message{color:var(--text-secondary);font-size:18px;margin-bottom:24px}.replica-info{background:linear-gradient(135deg,var(--primary-light) 0,#5a7d6c1a 100%);border-radius:12px;gap:16px;margin-bottom:24px;padding:20px}.replica-avatar,.replica-info{align-items:center;display:flex}.replica-avatar{background:var(--primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:28px;font-weight:600;height:64px;justify-content:center;width:64px}.replica-details{text-align:left}.replica-details h2{color:var(--text-primary);font-size:22px;margin:0 0 4px}.replica-details .relationship{color:var(--text-secondary);font-size:14px;margin:0}.description{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:32px}.invitation-content .error-message{background:#fff5f5;border:1px solid #dc3545;border-radius:8px;color:#dc3545;font-size:14px;margin-bottom:16px;padding:12px 16px}.invitation-actions{margin-top:24px}.logged-in-as{color:var(--text-secondary);font-size:14px;margin-bottom:16px}.action-description{color:var(--text-secondary);font-size:15px;margin-bottom:20px}.or-divider{color:var(--text-muted);font-size:14px;margin:16px 0;position:relative}.switch-account-hint{color:var(--text-secondary);font-size:14px;margin-top:16px}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.link-button:hover{color:var(--primary-dark)}.invitation-actions .btn{border-radius:8px;display:block;font-size:16px;font-weight:500;padding:14px 24px;text-align:center;text-decoration:none;transition:all .2s ease}.invitation-actions .btn-primary{background:var(--primary);border:none;color:#fff}.invitation-actions .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.invitation-actions .btn-secondary{background:#0000;border:2px solid var(--primary);color:var(--primary)}.invitation-actions .btn-secondary:hover{background:var(--primary-light)}.invitation-actions .btn-full{width:100%}.invitation-actions .btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.expiration-notice{font-size:12px}.expiration-notice,.footer-text{color:var(--text-muted);margin-top:24px}.footer-text{font-size:13px;text-align:center}.help-text{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:16px 0 24px}@media (max-width:480px){.invitation-card{padding:32px 24px}.invitation-content h1{font-size:24px}.inviter-message{font-size:16px}.replica-info{flex-direction:column}.replica-details,.replica-info{text-align:center}.replica-avatar{font-size:32px;height:72px;width:72px}}*{box-sizing:border-box;margin:0;padding:0}:root{--cream:#fdfbf7;--warm-white:#faf8f4;--soft-gray:#e8e6e1;--warm-gray:#a39e93;--text-primary:#4a4a4a;--text-secondary:#6b7280;--primary:#4a90a4;--primary-hover:#3a7a8e;--accent:#e89b7f;--success:#7fa984;--error:#d67676;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--spacing-xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 24px #0000001f}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fdfbf7;background-color:var(--cream);color:#4a4a4a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App{min-height:100vh}h1{color:#4a4a4a;color:var(--text-primary);font-size:32px;font-weight:600;letter-spacing:-.5px;margin-bottom:24px;margin-bottom:var(--spacing-md)}h2{font-size:24px;font-weight:600;letter-spacing:-.3px}h2,h3{color:#4a4a4a;color:var(--text-primary);margin-bottom:16px;margin-bottom:var(--spacing-sm)}h3{font-size:18px;font-weight:500}p{color:#6b7280;color:var(--text-secondary);line-height:1.7}.btn,p{font-size:15px}.btn{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-weight:500;padding:12px 24px;transition:all .2s ease}.btn-primary{background-color:#4a90a4;background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:#3a7a8e;background-color:var(--primary-hover);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{background-color:initial;border:1px solid #e8e6e1;border:1px solid var(--soft-gray);color:#6b7280;color:var(--text-secondary)}.btn-secondary:hover{background-color:#faf8f4;background-color:var(--warm-white);border-color:#a39e93;border-color:var(--warm-gray)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}input,textarea{background-color:#fff;border:1px solid #e8e6e1;border:1px solid var(--soft-gray);border-radius:8px;border-radius:var(--radius-sm);color:#4a4a4a;color:var(--text-primary);font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}input:focus,textarea:focus{border-color:#4a90a4;border-color:var(--primary);box-shadow:0 0 0 3px #4a90a41a;outline:none}input::placeholder,textarea::placeholder{color:#a39e93;color:var(--warm-gray)}.card{background:#fff;border-radius:12px;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-sm);padding:32px;padding:var(--spacing-lg);transition:all .2s ease}.card:hover{box-shadow:0 4px 16px #0000001a;box-shadow:var(--shadow-md)}.container{max-width:1200px}.container,.container-sm{margin:0 auto;padding:0 24px;padding:0 var(--spacing-md)}.container-sm{max-width:600px}.text-center{text-align:center}.mb-sm{margin-bottom:16px;margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:24px;margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:32px;margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:16px;margin-top:var(--spacing-sm)}.mt-md{margin-top:24px;margin-top:var(--spacing-md)}.mt-lg{margin-top:32px;margin-top:var(--spacing-lg)}.spinner{animation:spin .8s linear infinite;border:3px solid #e8e6e1;border-top:3px solid #4a90a4;border:3px solid var(--soft-gray);border-radius:50%;border-top-color:var(--primary);height:40px;margin:0 auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){h1{font-size:28px}h2{font-size:22px}.container,.container-sm{padding:0 16px;padding:0 var(--spacing-sm)}.card{padding:24px;padding:var(--spacing-md)}}
/*# sourceMappingURL=main.94ae89fe.css.map*/