@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--bg:#f8f5f1;--bg-card:#fff;--bg-input:#f2efea;--bg-subtle:#ece9e3;--sage:#4e8b72;--sage-light:#e6f0eb;--sage-mid:#a8ccbb;--rose:#bf6e68;--rose-light:#f5e9e8;--lavender:#7e73a8;--lavender-light:#edeaf5;--amber:#b87c3a;--amber-light:#f4ede0;--danger:#b85050;--danger-light:#f5e8e8;--sky:#5489a0;--sky-light:#e5eef3;--text:#2b2825;--text-mid:#6b6560;--text-soft:#9b9590;--border:#ddd9d3;--border-hover:#a8ccbb;--border-focus:#4e8b72;--shadow-sm:0 1px 3px #2b28250f;--shadow-md:0 2px 8px #2b282514, 0 1px 2px #2b28250a;--shadow-lg:0 6px 20px #2b28251a;--font:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"DM Serif Display", Georgia, serif;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:9999px;--t-fast:.14s ease;--t-base:.22s ease;--color-accent-primary:var(--sage);--color-accent-secondary:var(--rose);--color-accent-tertiary:var(--lavender);--color-accent-warning:var(--amber);--color-accent-danger:var(--danger);--color-accent-info:var(--sky);--color-text-primary:var(--text);--color-text-secondary:var(--text-mid);--color-text-muted:var(--text-soft);--color-text-accent:var(--sage);--color-border:var(--border);--color-border-hover:var(--border-hover);--color-border-focus:var(--border-focus);--color-bg-primary:var(--bg);--color-bg-secondary:var(--bg-card);--color-bg-card:var(--bg-card);--color-bg-glass:var(--bg-subtle);--color-bg-input:var(--bg-input);--gradient-primary:var(--sage);--gradient-card:var(--bg-card);--shadow-glow:var(--shadow-md);--font-primary:var(--font);--font-display:var(--font-heading);--radius-sm:var(--r-sm);--radius-md:var(--r-md);--radius-lg:var(--r-lg);--radius-full:var(--r-full);--transition-fast:var(--t-fast);--transition-base:var(--t-base)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.65}#root{min-height:100vh}.app-bg{z-index:-1;background:var(--bg);position:fixed;inset:0}.floating-orb{display:none}.app-container{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.app-header{text-align:center;padding:2rem 0 2.5rem}.app-logo{align-items:center;gap:.75rem;display:inline-flex}.logo-icon{border-radius:var(--r-md);background:var(--sage);width:44px;height:44px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:1.4rem;display:flex}.app-title{font-family:var(--font-heading);color:var(--text);letter-spacing:-.01em;font-size:1.75rem;font-weight:400}.app-subtitle{color:var(--text-mid);max-width:560px;margin:.75rem auto 0;font-size:1rem;line-height:1.7}.app-header.compact{padding:1rem 0 .75rem}.app-header.compact .app-subtitle{display:none}.step-indicator{-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:center;align-items:center;gap:0;margin-bottom:2.5rem;padding:.25rem .5rem;display:flex;overflow-x:auto}.step-indicator::-webkit-scrollbar{display:none}.step-row{align-items:center;display:flex}.step-item{flex-direction:column;align-items:center;gap:.4rem;min-width:96px;display:flex}.step-circle{background:var(--bg-card);border:1.5px solid var(--border);width:40px;height:40px;transition:all var(--t-base);color:var(--text-soft);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.step-item.active .step-circle{border-color:var(--sage);background:var(--sage-light);color:var(--sage)}.step-item.completed .step-circle{border-color:var(--sage);background:var(--sage);color:#fff;font-weight:600}.step-item.locked .step-circle{opacity:.45}.step-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);transition:color var(--t-fast);font-size:.7rem;font-weight:600}.step-item.active .step-label{color:var(--sage)}.step-item.completed .step-label{color:var(--text-mid)}.step-connector{background:var(--border);width:52px;height:1.5px;transition:background var(--t-base);margin:0 .5rem 1.1rem}.step-connector.completed{background:var(--sage)}.step-content{animation:.3s ease-out fadeInUp}.user-summary-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.7rem 1.25rem;display:flex}.user-summary-items{color:var(--text-mid);flex-wrap:wrap;gap:1.25rem;font-size:.86rem;display:flex}.btn-edit{background:var(--bg-input);border:1px solid var(--border);color:var(--text-mid);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-fast);font-size:.78rem;font-family:var(--font);padding:.3rem .8rem}.btn-edit:hover{border-color:var(--sage);color:var(--sage)}.profile-context-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1rem 1.25rem}.context-bar-title{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:flex}.context-bar-grid{grid-template-columns:repeat(6,1fr);gap:.75rem;display:grid}.context-item{text-align:center;flex-direction:column;gap:.15rem;display:flex}.context-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:600}.context-value{color:var(--sage);font-size:.87rem;font-weight:600}.context-value small{color:var(--text-soft);font-size:.7rem;font-weight:400}.step-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-outline{border:1.5px solid var(--border);color:var(--text-mid);box-shadow:none;background:0 0}.btn-outline:hover{border-color:var(--sage-mid);color:var(--text)}.disclaimer-banner{background:var(--amber-light);border:1px solid #e0c9a0;border-left:3px solid var(--amber);border-radius:var(--r-md);align-items:flex-start;gap:.75rem;margin-bottom:2rem;padding:1rem 1.25rem;display:flex}.disclaimer-icon{flex-shrink:0;margin-top:2px;font-size:1.1rem}.disclaimer-text{color:var(--text-mid);font-size:.84rem;line-height:1.65}.disclaimer-text strong{color:var(--amber)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base), border-color var(--t-base);padding:2rem}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.card-title{font-family:var(--font-heading);color:var(--text);margin-bottom:.25rem;font-size:1.35rem;font-weight:400}.card-subtitle{color:var(--text-soft);margin-bottom:1.75rem;font-size:.88rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{color:var(--text-mid);font-size:.84rem;font-weight:500}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);font-family:var(--font);transition:all var(--t-fast);outline:none;padding:.75rem 1rem;font-size:.95rem}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--sage-mid)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);background:var(--bg-card);box-shadow:0 0 0 3px #4e8b721f}.form-input::placeholder{color:var(--text-soft)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239b9590' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-select option{background:var(--bg-card);color:var(--text)}.form-textarea{resize:vertical;min-height:100px}.form-helper{color:var(--text-soft);margin-top:.15rem;font-size:.78rem}.btn{border-radius:var(--r-sm);font-family:var(--font);cursor:pointer;transition:all var(--t-base);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.75rem;font-size:.92rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--sage);color:#fff;box-shadow:0 1px 3px #4e8b724d}.btn-primary:hover{background:#3d7860;box-shadow:0 3px 10px #4e8b724d}.btn-primary:active{background:#326650}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.results-section{margin-top:2.5rem;animation:.5s ease-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.bmi-card{grid-template-columns:auto 1fr;align-items:center;gap:2rem;display:grid}.bmi-gauge{width:130px;height:130px;position:relative}.bmi-circle{border:3px solid var(--sage-mid);background:var(--sage-light);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:relative}.bmi-value{font-family:var(--font-heading);color:var(--sage);font-size:2.1rem;font-weight:400}.bmi-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.bmi-info h3{font-family:var(--font-heading);margin-bottom:.25rem;font-size:1.25rem;font-weight:400}.bmi-category{border-radius:var(--r-full);margin-bottom:.75rem;padding:.25rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.bmi-category.normal{background:var(--sage-light);color:var(--sage)}.bmi-category.underweight{background:var(--sky-light);color:var(--sky)}.bmi-category.overweight{background:var(--amber-light);color:var(--amber)}.bmi-category.obese{background:var(--danger-light);color:var(--danger)}.bmi-description{color:var(--text-mid);font-size:.9rem;line-height:1.6}.bmi-meta{gap:1.5rem;margin-top:1rem;display:flex}.bmi-meta-item{flex-direction:column;display:flex}.bmi-meta-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.bmi-meta-value{color:var(--text);font-size:.95rem;font-weight:600}.stats-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);text-align:center;box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base);padding:1.25rem}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.stat-icon{margin-bottom:.5rem;font-size:1.4rem}.stat-value{font-family:var(--font-heading);color:var(--text);font-size:1.55rem;font-weight:400}.stat-unit{color:var(--text-soft);font-size:.8rem;font-weight:400}.stat-label{color:var(--text-mid);margin-top:.25rem;font-size:.78rem}.nutrient-section{margin-top:2rem}.nutrient-section-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.nutrient-section-icon{border-radius:var(--r-sm);justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex}.nutrient-section-icon.macros{background:var(--sage-light)}.nutrient-section-icon.vitamins{background:var(--amber-light)}.nutrient-section-icon.minerals{background:var(--lavender-light)}.nutrient-section-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:400}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.nutrient-table{border-collapse:separate;border-spacing:0;width:100%;min-width:500px}.nutrient-table thead th{text-align:left;color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--border);padding:.7rem 1rem;font-size:.73rem;font-weight:600}.nutrient-table tbody tr{transition:background var(--t-fast)}.nutrient-table tbody tr:hover{background:var(--sage-light)}.nutrient-table tbody td{border-bottom:1px solid var(--bg-subtle);padding:.65rem 1rem;font-size:.9rem}.nutrient-table tbody td:first-child{color:var(--text);font-weight:500}.nutrient-table tbody td:last-child{color:var(--sage);font-weight:600}.section-divider{background:var(--border);height:1px;margin:2rem 0}.app-footer{text-align:center;color:var(--text-soft);border-top:1px solid var(--border);margin-top:3rem;padding:3rem 0 2rem;font-size:.8rem}.app-footer a{color:var(--sage);text-decoration:none}.error-message{background:var(--danger-light);border-radius:var(--r-sm);color:var(--danger);border:1px solid #e0b8b8;margin-top:1rem;padding:.8rem 1rem;font-size:.88rem}.life-stage-options{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.25rem;display:grid}.life-stage-card{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:all var(--t-base);-webkit-user-select:none;user-select:none;flex-direction:column;gap:.3rem;padding:.9rem 1rem;display:flex}.life-stage-card:hover{border-color:var(--sage-mid);background:var(--sage-light)}.life-stage-card.selected{border-color:var(--sage);background:var(--sage-light)}.life-stage-label{color:var(--text);font-size:.9rem;font-weight:600}.life-stage-desc{color:var(--text-soft);font-size:.75rem;line-height:1.4}.pregnancy-disclaimer{background:var(--amber-light);border:1px solid #e0c9a0;border-left:3px solid var(--amber);border-radius:var(--r-sm);flex-direction:column;gap:.6rem;margin-top:1rem;padding:.9rem 1.1rem;animation:.3s ease-out fadeInUp;display:flex}.pregnancy-disclaimer p{color:var(--text-mid);font-size:.85rem;line-height:1.65}.pregnancy-disclaimer strong{color:var(--amber)}.pregnancy-disclaimer-footnote{border-top:1px solid #e0c9a0;padding-top:.4rem;font-style:italic;color:var(--text-soft)!important;font-size:.78rem!important}.chat-card{padding:0;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);background:var(--sage-light);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.chat-header-left{align-items:center;gap:1rem;display:flex}.chat-header-icon{border-radius:var(--r-md);background:var(--sage);justify-content:center;align-items:center;width:42px;height:42px;font-size:1.3rem;display:flex}.chat-reset-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-mid);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-fast);font-size:.8rem;font-family:var(--font);padding:.4rem .85rem}.chat-reset-btn:hover{border-color:var(--border-hover);color:var(--text)}.chat-start-panel{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 2rem;display:flex}.chat-start-icon{font-size:2.75rem}.chat-start-panel h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:400}.chat-start-panel p{color:var(--text-mid);max-width:500px;font-size:.9rem;line-height:1.7}.chat-features{text-align:left;flex-direction:column;gap:.5rem;width:100%;max-width:380px;list-style:none;display:flex}.chat-features li{color:var(--text-mid);font-size:.87rem}.chat-messages{scroll-behavior:smooth;background:var(--bg);flex-direction:column;gap:1rem;max-height:420px;padding:1.25rem 1.75rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.chat-message{align-items:flex-end;gap:.75rem;animation:.2s ease-out fadeInUp;display:flex}.chat-message.user{flex-direction:row-reverse}.chat-avatar{background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95rem;display:flex}.chat-avatar.user-avatar{background:var(--lavender-light);border-color:var(--lavender)}.chat-bubble{border-radius:14px;max-width:75%;padding:.7rem 1rem;font-size:.9rem;line-height:1.65}.chat-message.assistant .chat-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm);border-bottom-left-radius:4px}.chat-message.user .chat-bubble{background:var(--sage);color:#fff;border-bottom-right-radius:4px}.chat-bubble.typing{align-items:center;gap:5px;padding:.85rem 1rem;display:flex}.dot{background:var(--sage-mid);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingBounce}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{opacity:.5;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-card);align-items:flex-end;gap:.75rem;padding:1rem 1.75rem 1.25rem;display:flex}.chat-input{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--r-md);color:var(--text);font-family:var(--font);resize:none;transition:border-color var(--t-fast);outline:none;flex:1;padding:.75rem 1rem;font-size:.9rem}.chat-input:focus{border-color:var(--sage);background:var(--bg-card)}.chat-input::placeholder{color:var(--text-soft)}.chat-send-btn{flex-shrink:0;border-radius:var(--r-md)!important;padding:.75rem 1.1rem!important;font-size:1rem!important}.chat-complete{text-align:center;border-top:1px solid var(--border);color:var(--sage);background:var(--sage-light);padding:.85rem 1.75rem;font-size:.88rem}.diagnosis-card{background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:var(--r-md);margin:0 1.75rem 1.25rem;padding:1.25rem;animation:.4s ease-out fadeInUp}.diagnosis-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.diagnosis-icon{font-size:1.3rem}.diagnosis-header h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:400}.deficiency-list{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.deficiency-item{flex-direction:column;gap:.3rem;display:flex}.deficiency-name{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.severity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.severity-badge{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.deficiency-symptoms{flex-wrap:wrap;gap:.35rem;display:flex}.symptom-tag{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text-mid);padding:.2rem .6rem;font-size:.72rem}.diagnosis-summary{color:var(--text-mid);margin-bottom:.75rem;font-size:.87rem;line-height:1.65}.diagnosis-alert{background:var(--amber-light);border-radius:var(--r-sm);border:1px solid #e0c9a0;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.7rem;display:flex}.diagnosis-alert p{color:var(--amber);font-size:.84rem}.diagnosis-disclaimer{color:var(--text-soft);border-top:1px solid var(--sage-mid);margin-top:.5rem;padding-top:.75rem;font-size:.76rem}.diet-plan-header{border-bottom:1px solid var(--border);background:var(--sage-light);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.day-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:0;display:flex;overflow-x:auto}.day-tabs::-webkit-scrollbar{display:none}.day-tab{color:var(--text-soft);cursor:pointer;transition:all var(--t-fast);font-size:.86rem;font-weight:600;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.85rem 1rem}.day-tab:hover{color:var(--text-mid);background:var(--bg-subtle)}.day-tab.active{color:var(--sage);border-bottom-color:var(--sage);background:var(--sage-light)}.meals-grid{grid-template-columns:1fr;gap:0;padding:0;display:grid}.meal-card{border-bottom:1px solid var(--bg-subtle);transition:background var(--t-fast);padding:1.1rem 1.75rem}.meal-card:hover{background:var(--sage-light)}.meal-card:last-child{border-bottom:none}.meal-header{align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.meal-icon{font-size:1.1rem}.meal-type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);font-size:.7rem;font-weight:600}.meal-calories{color:var(--sage);background:var(--sage-light);border-radius:var(--r-full);margin-left:auto;padding:.15rem .55rem;font-size:.76rem;font-weight:600}.meal-name{font-family:var(--font-heading);color:var(--text);margin-bottom:.2rem;font-size:1rem;font-weight:400}.meal-desc{color:var(--text-mid);font-size:.84rem;line-height:1.55}.diet-summary{border-top:1px solid var(--border);background:var(--bg-subtle);align-items:center;gap:.5rem;padding:.85rem 1.75rem;display:flex}.diet-summary p{color:var(--text-mid);font-size:.84rem}.diet-summary strong{color:var(--sage)}.supplements-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.supplement-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base), border-color var(--t-base);padding:1.1rem}.supplement-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.supplement-header{border-bottom:1px solid var(--bg-subtle);border-left:3px solid;align-items:center;gap:.75rem;width:calc(100% + 1.1rem);margin-bottom:.75rem;margin-left:-1.1rem;padding-bottom:.75rem;padding-left:.75rem;display:flex}.supplement-icon{font-size:1.3rem}.supplement-name{font-family:var(--font-heading);color:var(--text);margin-bottom:.1rem;font-size:1rem;font-weight:400}.supplement-dosage{color:var(--sage);font-size:.78rem;font-weight:600}.supplement-details{flex-direction:column;gap:.5rem;display:flex}.supplement-row{flex-direction:column;gap:.1rem;font-size:.84rem;display:flex}.supplement-detail-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.supplement-row span:last-child{color:var(--text-mid);line-height:1.5}.supplement-warning{background:var(--danger-light);border-radius:var(--r-sm);color:var(--danger);border:1px solid #e0b8b8;align-items:flex-start;gap:.4rem;margin-top:.25rem;padding:.5rem .7rem;font-size:.79rem;display:flex}.supplement-general-advice{background:var(--sky-light);border-radius:var(--r-sm);border:1px solid #b8d4e0;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:.75rem;display:flex}.supplement-general-advice p{color:var(--sky);font-size:.84rem}.email-form{background:var(--bg-subtle);border-radius:var(--r-md);border:1px solid var(--border);padding:1.5rem}#email-success-card{animation:.4s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.app-container{padding:1rem}.form-grid{grid-template-columns:1fr}.bmi-card{text-align:center;grid-template-columns:1fr}.bmi-gauge{margin:0 auto}.bmi-meta{justify-content:center}.stats-grid,.life-stage-options{grid-template-columns:1fr}.step-connector{width:20px;margin:0 .2rem}.step-item{min-width:58px}.step-label{font-size:.58rem}.step-circle{width:32px;height:32px;font-size:.85rem}.context-bar-grid{grid-template-columns:repeat(3,1fr)}.user-summary-items{gap:.75rem;font-size:.82rem}.step-nav{flex-direction:column;gap:.75rem}.step-nav .btn{width:100%}.supplements-grid{grid-template-columns:1fr}.life-stage-options[style]{grid-template-columns:repeat(2,1fr)!important}.meal-card{padding:.9rem 1rem}.day-tab{padding:.7rem .5rem;font-size:.78rem}}@media (width<=480px){.card{padding:1.25rem}.context-bar-grid{grid-template-columns:repeat(2,1fr)}.step-connector{width:12px;margin:0 .15rem}.step-item{min-width:52px}.step-label{letter-spacing:.03em;font-size:.55rem}.step-circle{width:30px;height:30px}.life-stage-options[style]{grid-template-columns:1fr!important}}.hero-wrapper{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.hero-nav{border-bottom:1px solid var(--border);background:var(--bg-card);justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;display:flex}.hero-nav-logo{align-items:center;gap:.75rem;display:flex}.hero-nav-cta{padding:.55rem 1.35rem;font-size:.88rem}.hero-section{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:960px;margin:0 auto;padding:4rem 1.5rem 5rem;display:flex}.hero-badge{background:var(--sage-light);border:1px solid var(--sage-mid);color:var(--sage);border-radius:var(--r-full);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.4rem 1rem;font-size:.76rem;font-weight:600;display:inline-flex}.hero-badge-dot{background:var(--sage);border-radius:50%;width:6px;height:6px}.hero-title{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--text);margin-bottom:1.25rem;font-size:clamp(2.6rem,6vw,4.5rem);font-weight:400;line-height:1.1}.hero-title-gradient{color:var(--sage);font-style:italic}.hero-description{color:var(--text-mid);max-width:520px;margin:0 auto 2.25rem;font-size:1.1rem;line-height:1.8}.hero-cta-group{flex-direction:column;align-items:center;gap:.6rem;margin-bottom:3rem;display:flex}.btn-hero{border-radius:var(--r-md);padding:.9rem 2.5rem;font-size:1rem}.hero-cta-note{color:var(--text-soft);font-size:.78rem}.hero-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);justify-content:center;gap:0;margin-bottom:3rem;display:flex;overflow:hidden}.hero-stat{text-align:center;border-right:1px solid var(--border);padding:1.25rem 2.25rem}.hero-stat:last-child{border-right:none}.hero-stat-value{font-family:var(--font-heading);color:var(--sage);margin-bottom:.25rem;font-size:1.85rem;font-weight:400;line-height:1}.hero-stat-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.07em;font-size:.73rem;font-weight:600}.hero-features{grid-template-columns:repeat(4,1fr);gap:1rem;width:100%;max-width:920px;margin-bottom:3rem;display:grid}.hero-feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-sm);transition:box-shadow var(--t-base), border-color var(--t-base), transform var(--t-base);padding:1.5rem 1.1rem}.hero-feature-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover);transform:translateY(-3px)}.hero-feature-icon{margin-bottom:.75rem;font-size:2rem;display:block}.hero-feature-title{font-family:var(--font-heading);color:var(--text);margin-bottom:.4rem;font-size:.97rem;font-weight:400}.hero-feature-desc{color:var(--text-soft);font-size:.78rem;line-height:1.65}.hero-how{width:100%;max-width:740px;margin-bottom:2.5rem}.hero-how-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem;font-size:.73rem;font-weight:600}.hero-steps{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 0;display:flex}.hero-step{align-items:center;gap:.5rem;display:flex}.hero-step-num{background:var(--sage-light);border:1.5px solid var(--sage-mid);width:34px;height:34px;color:var(--sage);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:flex}.hero-step-label{color:var(--text-mid);font-size:.83rem;font-weight:500}.hero-step-arrow{color:var(--border-hover);margin:0 .75rem;font-size:1rem}.hero-disclaimer{color:var(--text-soft);max-width:480px;font-size:.76rem;line-height:1.6}.app-nav-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.75rem;padding:1.25rem 0;display:flex}.app-nav-bar .app-logo{align-items:center;gap:.75rem;margin-bottom:0;display:flex}.app-nav-bar .app-title,.hero-nav .app-title{font-size:1.35rem;font-family:var(--font-heading);color:var(--text);-webkit-text-fill-color:unset;background:0 0;font-weight:400}.app-nav-bar .logo-icon{width:36px;height:36px;font-size:1.1rem}.nav-home-btn{border:1.5px solid var(--border);color:var(--text-mid);border-radius:var(--r-full);cursor:pointer;transition:all var(--t-fast);font-size:.8rem;font-weight:500;font-family:var(--font);background:0 0;align-items:center;gap:.4rem;padding:.45rem 1rem;display:inline-flex}.nav-home-btn:hover{border-color:var(--sage);color:var(--sage)}.session-memory-badge{color:var(--sage);background:var(--sage-light);border:1px solid var(--sage-mid);border-radius:var(--r-full);align-items:center;gap:.4rem;margin-top:.5rem;padding:.28rem .7rem;font-size:.74rem;display:inline-flex}.cookie-banner{z-index:2000;background:var(--bg-card);border-top:1px solid var(--border);align-items:center;gap:1.5rem;padding:1.1rem 2rem;animation:.35s ease-out slideInUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #2b282514}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.5}}.cookie-icon{flex-shrink:0;font-size:1.6rem}.cookie-content{flex:1;min-width:0}.cookie-title{color:var(--text);margin-bottom:.2rem;font-size:.9rem;font-weight:600}.cookie-text{color:var(--text-mid);margin:0;font-size:.83rem;line-height:1.55}.cookie-text strong{color:var(--sage);font-weight:600}.cookie-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.btn-cookie-decline{border:1.5px solid var(--border);color:var(--text-soft);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);font-size:.85rem;font-weight:500;font-family:var(--font);background:0 0;padding:.55rem 1.1rem}.btn-cookie-decline:hover{border-color:var(--border-hover);color:var(--text-mid)}.btn-cookie-accept{padding:.6rem 1.25rem!important;font-size:.88rem!important}@media (width<=900px){.hero-features{grid-template-columns:repeat(2,1fr)}.hero-stats{flex-wrap:wrap}.hero-stat{border-right:none;border-bottom:1px solid var(--border);width:50%}.hero-stat:nth-child(odd){border-right:1px solid var(--border)}.hero-stat:nth-last-child(-n+2){border-bottom:none}.hero-step-arrow{display:none}.hero-steps{justify-content:flex-start;gap:.6rem}}@media (width<=600px){.hero-nav{padding:1rem 1.25rem}.hero-nav-cta{display:none}.hero-title{font-size:clamp(2rem,8vw,2.75rem)}.hero-features{grid-template-columns:1fr 1fr;gap:.75rem}.hero-stat{width:50%}.cookie-banner{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem}.cookie-actions{width:100%}.btn-cookie-decline,.btn-cookie-accept{flex:1;justify-content:center}.app-nav-bar .app-title,.hero-nav .app-title{font-size:1.15rem}}
