:root{--primary:#4f46e5;--primary-hover:#4338ca;--background:#0b151e;--surface:#1a2332;--surface-hover:#243042;--text-primary:#fff;--text-secondary:#94a3b8;--border:#2d3748;--accent-sunny:#fbbf24;--accent-rainy:#60a5fa;--success:#10b981}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.site-header{position:fixed;top:0;left:0;right:0;background:rgba(11,21,30,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:1000;padding:1rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:opacity .2s}.logo:hover{opacity:.8}.header-nav{display:flex;gap:2rem;align-items:center}.nav-item{color:var(--text-secondary);cursor:pointer;transition:color .2s;font-size:.95rem}.nav-item:hover{color:var(--text-primary)}.header-auth-buttons{display:flex;gap:1rem;align-items:center;margin-left:1rem}.header-login-btn{color:var(--text-primary);text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:all .2s;font-size:.9rem}.header-login-btn:hover{background:var(--surface-hover)}.header-signup-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;padding:.5rem 1.2rem;border-radius:8px;transition:all .2s;font-size:.9rem;font-weight:600}.header-signup-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.header-user-menu{display:flex;gap:1rem;align-items:center;margin-left:1rem}.header-user-email{color:var(--text-secondary);font-size:.9rem}.header-logout-btn{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem}.header-logout-btn:hover{background:var(--surface-hover);border-color:var(--primary)}.landing-container{padding-top:80px;min-height:100vh}.hero-section{max-width:800px;margin:0 auto;padding:6rem 2rem 4rem;text-align:center}.hero-title{font-size:4rem;font-weight:800;margin-bottom:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.hero-subtitle{font-size:1.8rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600}.hero-description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem;line-height:1.6}.cta-section{margin-top:3rem}.cta-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 30px rgba(102,126,234,.3)}.cta-button:hover{transform:translateY(-2px);box-shadow:0 15px 40px rgba(102,126,234,.4)}.cta-button:active{transform:translateY(0)}.cta-button.large{padding:1.2rem 3rem;font-size:1.2rem}.cta-hint{margin-top:1rem;color:var(--text-secondary);font-size:.9rem}.features-section{max-width:1200px;margin:6rem auto;padding:0 2rem}.features-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.5rem 2rem;text-align:center;transition:transform .2s,border-color .2s}.feature-card:hover{transform:translateY(-5px);border-color:var(--primary)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.3rem;margin-bottom:.8rem;color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.family-input-section{max-width:1200px;margin:6rem auto;padding:4rem 2rem;background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05));border-radius:30px;border:1px solid rgba(102,126,234,.1)}.section-subtitle{text-align:center;color:var(--text-secondary);font-size:1.1rem;margin-top:-1.5rem;margin-bottom:3rem}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:3rem}.input-card{background:var(--surface);border:2px solid var(--border);border-radius:20px;padding:2.5rem 2rem;text-align:center;transition:transform .2s,border-color .2s;cursor:pointer}.input-card:hover{transform:translateY(-5px);border-color:var(--primary)}.input-icon{font-size:3.5rem;margin-bottom:1rem}.input-card h3{font-size:1.4rem;margin-bottom:.5rem;color:var(--text-primary)}.input-card p{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem}.input-example{background:rgba(102,126,234,.1);color:var(--primary);padding:.5rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500}.input-benefits{margin-top:3rem;padding:2rem;background:var(--surface);border-radius:20px;border:1px solid var(--border)}.input-benefits h3{text-align:center;font-size:1.3rem;margin-bottom:1.5rem;color:var(--text-primary)}.benefits-list{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.benefit-item{gap:1rem;padding:1rem;background:rgba(102,126,234,.05);border-radius:12px;color:var(--text-secondary);font-size:.95rem}.benefit-icon,.benefit-item{display:flex;align-items:center}.benefit-icon{flex-shrink:0;width:28px;height:28px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}.personality-section{max-width:1400px;margin:6rem auto;padding:4rem 2rem;background:linear-gradient(135deg,rgba(102,126,234,.08),rgba(118,75,162,.08));border-radius:30px;border:1px solid rgba(102,126,234,.15)}.personality-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.personality-category{background:var(--surface);border-radius:20px;padding:2rem;transition:transform .2s,box-shadow .2s}.personality-category:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(102,126,234,.15)}.category-title{display:flex;align-items:center;gap:.75rem;font-size:1.3rem;margin-bottom:1.5rem;font-weight:600}.category-icon{font-size:1.5rem}.personality-options{flex-direction:column;gap:.75rem}.personality-option{position:relative;align-items:flex-start;padding:1rem;border-radius:12px;background:rgba(102,126,234,.03);border:2px solid transparent}.personality-option:hover{background:rgba(102,126,234,.08);border-color:rgba(102,126,234,.2)}.personality-option input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;width:0;height:0}.personality-option input[type=checkbox]:checked~.option-content{opacity:1}.personality-option input[type=checkbox]:checked~.option-content:before{content:"✓";position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px rgba(102,126,234,.4)}.personality-option input[type=checkbox]:checked~.option-content{background:rgba(102,126,234,.1)}.option-content{position:relative;display:flex;align-items:center;gap:1rem;width:100%;padding:.5rem;border-radius:8px;transition:background .2s}.option-emoji{font-size:2rem;flex-shrink:0}.option-text{display:flex;flex-direction:column;gap:.25rem}.option-text strong{color:var(--text-primary);font-size:1rem;font-weight:600}.option-text small{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.how-it-works{max-width:1200px;margin:6rem auto;padding:4rem 2rem;background:var(--surface);border-radius:30px}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem}.steps-container{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.step{flex:1 1;min-width:200px;max-width:250px;text-align:center}.step-number{width:60px;height:60px;margin:0 auto 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff}.step h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--text-primary)}.step p{font-size:.9rem}.step p,.step-arrow{color:var(--text-secondary)}.step-arrow{font-size:2rem;flex-shrink:0}.example-section{max-width:1200px;margin:6rem auto;padding:0 2rem}.example-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.example-card{background:var(--surface);border:2px solid var(--border);border-radius:20px;padding:2.5rem;transition:transform .2s}.example-card:hover{transform:translateY(-5px)}.example-card.sunny{border-color:var(--accent-sunny)}.example-card.rainy{border-color:var(--accent-rainy)}.weather-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;margin-bottom:1.5rem}.sunny .weather-badge{background:rgba(251,191,36,.2);color:var(--accent-sunny)}.rainy .weather-badge{background:rgba(96,165,250,.2);color:var(--accent-rainy)}.example-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.example-card ul{list-style:none;padding:0}.example-card li{padding:.8rem 0;color:var(--text-secondary);font-size:1rem;border-bottom:1px solid var(--border)}.example-card li:last-child{border-bottom:none}.final-cta{max-width:800px;margin:6rem auto 4rem;padding:4rem 2rem;text-align:center;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-radius:30px;border:1px solid rgba(102,126,234,.2)}.final-cta h2{font-size:2.5rem;margin-bottom:2rem;color:var(--text-primary)}.coming-soon{margin-top:1.5rem;color:var(--text-secondary);font-size:1rem}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.3rem}.features-title,.section-title{font-size:2rem}.header-nav{display:none}.steps-container{flex-direction:column}.step-arrow{transform:rotate(90deg)}.family-input-section,.how-it-works,.personality-section{padding:3rem 1.5rem}.input-grid{grid-template-columns:1fr}.input-card{padding:2rem 1.5rem}.benefit-item{font-size:.85rem;padding:.8rem}.personality-categories{grid-template-columns:1fr}.personality-category{padding:1.5rem}.steps-container{gap:1.5rem}.final-cta h2{font-size:2rem}}@media (max-width:480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.cta-button{padding:.9rem 2rem;font-size:1rem}.example-card,.feature-card{padding:2rem 1.5rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,rgba(102,126,234,.05),rgba(118,75,162,.05))}.auth-box{width:100%;max-width:450px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:3rem;box-shadow:0 10px 40px rgba(0,0,0,.3)}.auth-header{text-align:center;margin-bottom:2.5rem}.auth-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.auth-header p{color:var(--text-secondary);font-size:.95rem}.auth-form{gap:1.5rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.form-group input{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:.9rem 1rem;color:var(--text-primary);font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary);background:var(--surface-hover)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder{color:var(--text-secondary);opacity:.6}.form-hint{color:var(--text-secondary);font-size:.85rem;margin-top:-.25rem}.error-message{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.9rem 1rem;border-radius:12px;font-size:.9rem;text-align:center}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px rgba(102,126,234,.4)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:2rem;text-align:center;display:flex;flex-direction:column;gap:1rem}.auth-footer p{color:var(--text-secondary);font-size:.9rem}.auth-link{color:var(--primary);text-decoration:none;font-weight:600;transition:opacity .2s}.auth-link:hover{opacity:.8;text-decoration:underline}.auth-link-secondary{color:var(--text-secondary);text-decoration:none;font-size:.85rem;transition:color .2s}.auth-link-secondary:hover{color:var(--text-primary)}@media (max-width:480px){.auth-box{padding:2rem 1.5rem}.auth-header h1{font-size:1.5rem}}.profile-container{min-height:100vh;padding:6rem 2rem 4rem;max-width:1000px;margin:0 auto}.profile-header{text-align:center;margin-bottom:3rem}.profile-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-subtitle{color:var(--text-secondary);font-size:1rem}.profile-section{background:var(--surface);border-radius:16px;padding:2rem;margin-bottom:2rem;border:1px solid var(--border)}.section-title{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text-primary)}.section-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.info-card{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;align-items:center;padding:1rem;background:var(--background);border-radius:12px;border:1px solid var(--border)}.info-label{font-weight:600;color:var(--text-secondary);width:120px}.info-value{color:var(--text-primary);font-size:1.05rem}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.family-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:1.5rem;gap:1rem}.family-card,.family-label{display:flex;flex-direction:column;align-items:center}.family-label{gap:.5rem;width:100%}.label-icon{font-size:2rem}.label-text{font-weight:600;color:var(--text-primary)}.number-input-group{display:flex;align-items:center;gap:.5rem}.number-btn{background:var(--primary);color:#fff;border:none;width:36px;height:36px;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.number-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.number-btn.small{width:32px;height:32px;font-size:1rem}.number-input{background:var(--surface);border:2px solid var(--border);border-radius:8px;padding:.5rem;width:60px;text-align:center;color:var(--text-primary);font-size:1.1rem;font-weight:600}.number-input:focus{outline:none;border-color:var(--primary)}.unit-text{color:var(--text-secondary);font-size:.95rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-primary)}.checkbox-input{width:20px;height:20px;cursor:pointer}.children-section{margin-top:2rem}.children-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.children-title{font-size:1.2rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.add-child-btn{background:var(--primary);color:#fff;border:none;padding:.7rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.add-child-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.children-list{display:flex;flex-direction:column;gap:1rem}.child-card{background:var(--background);border:2px solid var(--border);border-radius:12px;padding:1.5rem;position:relative;transition:all .2s}.child-card:hover{border-color:var(--primary)}.child-number{position:absolute;top:1rem;right:1rem;background:var(--primary);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.child-inputs{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-top:.5rem}.child-input-group{display:flex;flex-direction:column;gap:.5rem}.child-input-group.full-width{grid-column:1/-1}.child-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.child-name-input{background:var(--surface);border:2px solid var(--border);border-radius:8px;padding:.7rem;color:var(--text-primary);font-size:.95rem}.child-name-input:focus{outline:none;border-color:var(--primary)}.age-input-group{display:flex;align-items:center;gap:.5rem}.age-input{background:var(--surface);border:2px solid var(--border);border-radius:8px;padding:.5rem;width:60px;text-align:center;color:var(--text-primary);font-size:1rem;font-weight:600}.age-input:focus{outline:none;border-color:var(--primary)}.gender-buttons{display:flex;gap:.5rem}.gender-btn{flex:1 1;background:var(--surface);border:2px solid var(--border);border-radius:8px;padding:.7rem 1rem;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.3rem}.gender-btn:hover{border-color:var(--primary);transform:translateY(-2px)}.gender-btn.active{background:rgba(102,126,234,.2);border-color:var(--primary);color:var(--primary)}.remove-child-btn{position:absolute;top:-8px;left:-8px;background:#ef4444;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-child-btn:hover{background:#dc2626;transform:scale(1.1)}.personality-categories{display:flex;flex-direction:column;gap:1.5rem}.personality-category{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.category-title{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary)}.personality-options{display:flex;flex-wrap:wrap;gap:.8rem}.personality-option{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:2px solid var(--border);border-radius:8px;padding:.7rem 1rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.personality-option:hover{border-color:var(--primary);transform:translateY(-2px)}.personality-checkbox{width:18px;height:18px;cursor:pointer}.personality-checkbox:checked+.personality-label{color:var(--primary);font-weight:600}.personality-option:has(.personality-checkbox:checked){background:rgba(102,126,234,.1);border-color:var(--primary)}.personality-label{color:var(--text-primary);font-size:.95rem;transition:all .2s}.selected-personalities{margin-top:2rem;padding:1.5rem;background:rgba(102,126,234,.1);border:1px solid var(--primary);border-radius:12px}.selected-personalities h4{color:var(--primary);margin-bottom:1rem;font-size:1rem}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem}.selected-tag{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.profile-actions{text-align:center;padding:2rem}.message{padding:1rem;border-radius:12px;margin-bottom:1.5rem;font-weight:600;animation:slideDown .3s ease}.message.success{background:rgba(16,185,129,.1);border:1px solid var(--success);color:var(--success)}.message.error{background:rgba(239,68,68,.1);border:1px solid #ef4444;color:#ef4444}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.2rem 3rem;font-size:1.1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px rgba(102,126,234,.3)}.save-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px rgba(102,126,234,.5)}.save-button:active:not(:disabled){transform:translateY(-1px)}.save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-hint{color:var(--text-secondary);font-size:.9rem;margin-top:1rem}.loading-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.spinner{width:50px;height:50px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.profile-container{padding:5rem 1rem 2rem}.profile-header h1{font-size:2rem}.child-inputs,.family-grid{grid-template-columns:1fr}.gender-buttons,.personality-options{flex-direction:column}.save-button{width:100%;padding:1rem 2rem}}