:root{--green-deep: #1a3d2b;--green-mid: #2d6a4f;--green-bright: #40916c;--green-light: #d8f3dc;--green-pale: #f0faf3;--gold: #c9971c;--gold-light: #fff8e7;--ink: #1c2b1e;--ink-mid: #3d4f40;--ink-light: #6b7f6e;--cream: #fafaf7;--white: #ffffff;--line: #e0ede2;--danger: #b4432f;--radius: 16px;--radius-sm: 8px;--gutter: 16px;--max: 480px;--font-head: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;overflow-x:hidden}h1,h2,h3{font-family:var(--font-head);line-height:1.2;margin:0 0 12px;color:var(--green-deep)}h1{font-size:1.75rem}h2{font-size:1.35rem}p{margin:0 0 12px}a{color:var(--green-mid)}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}.page{max-width:var(--max);margin:0 auto;padding:16px var(--gutter) 32px;min-height:100vh;display:flex;flex-direction:column}.page-main{flex:1}.btn{display:block;width:100%;border:0;border-radius:999px;padding:15px 20px;font-weight:600;font-size:1rem;text-align:center;text-decoration:none;background:var(--green-mid);color:var(--white)}.btn:disabled{opacity:.45;cursor:default}.btn-secondary{background:var(--white);color:var(--green-mid);border:1.5px solid var(--green-mid)}.btn-link{background:none;border:0;color:var(--green-mid);text-decoration:underline;padding:8px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.disclaimer{font-size:.8rem;color:var(--ink-light);text-align:center}.footer{margin-top:32px;display:grid;gap:4px;justify-items:center}.footer a{font-size:.8rem;color:var(--ink-light)}.consent-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--green-deep);color:var(--white);padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom))}.consent-inner{max-width:var(--max);margin:0 auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.consent-inner p{margin:0;flex:1 1 100%;font-size:.875rem}.consent-inner button{flex:1}.consent-inner button{border:0;border-radius:999px;padding:8px 16px;font-weight:600}.consent-accept{background:var(--white);color:var(--green-deep)}.consent-decline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.5)!important}.consent-spacer{height:96px}.hook{text-align:center;padding-top:24px;display:grid;gap:12px;justify-items:center}.hook-avatar{border-radius:50%;border:4px solid var(--green-light)}.hook-sub{color:var(--ink-light)}.quiz-top{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back{background:none;border:0;font-size:1.4rem;color:var(--green-deep);padding:4px 8px}.progress{flex:1;height:6px;border-radius:3px;background:var(--green-light);overflow:hidden}.progress-fill{height:100%;background:var(--green-bright);transition:width .25s ease}.step-header{margin-bottom:16px}.step-subtitle{color:var(--ink-mid)}.step-actions{margin-top:24px}.options{display:grid;gap:10px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 16px;color:var(--ink);font-size:1rem}.option-selected{border-color:var(--green-bright);background:var(--green-pale);font-weight:600}.option-emoji{font-size:1.4rem}.segmented{display:flex;gap:6px;background:var(--green-pale);padding:4px;border-radius:999px;margin-bottom:16px}.segment{flex:1;border:0;background:transparent;padding:10px;border-radius:999px;color:var(--ink-mid)}.segment-on{background:var(--white);color:var(--green-deep);font-weight:600;box-shadow:0 1px 3px #00000014}.btn-center{display:block;margin:8px auto 0}.measure{text-align:center}.measure-value{font-family:var(--font-head);font-size:2.6rem;color:var(--green-deep);margin:16px 0}.measure-row{display:flex;align-items:center;gap:12px}.measure-row input[type=range]{flex:1;accent-color:var(--green-bright)}.measure-hint{color:var(--green-mid);font-weight:600;margin-top:12px;min-height:1.5em}.round-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--green-mid);background:var(--white);color:var(--green-mid);font-size:1.3rem}.note{background:var(--green-pale);border-radius:var(--radius);padding:16px}.field{display:grid;gap:4px;flex:1}.field-label{font-weight:600;color:var(--ink-mid);margin:12px 0 6px}.field input{font:inherit;padding:12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--white);width:100%}.time-row{display:flex;gap:12px;margin-bottom:8px}.statements{display:grid;gap:12px}.statement p{font-weight:500}.statement .segmented{margin-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip{border:1.5px solid var(--line);background:var(--white);border-radius:999px;padding:8px 14px}.chip-on{border-color:var(--green-bright);background:var(--green-pale);font-weight:600}.checks{display:grid;gap:10px;margin-bottom:16px}.check{display:flex;gap:12px;align-items:flex-start;background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 16px}.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--green-bright);flex:none}.check-consent{background:var(--gold-light);border-color:#ffe3a3;font-size:.9rem}.small-link{display:inline-block;font-size:.85rem;margin-top:8px}.sofia-says{text-align:center;display:grid;gap:12px;justify-items:center;padding-top:16px}.sofia-says img{border-radius:50%}.building-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px;text-align:left}.building-list li{opacity:0;animation:appear .3s ease forwards;font-weight:500}.building-list span{color:var(--green-bright);margin-right:6px}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.building-list li{animation:none;opacity:1}}.result-head{text-align:center;margin-bottom:16px}.result-head p{color:var(--ink-light)}.result-card,.persona-card{margin-bottom:16px}.card+.card{margin-top:16px}.summary{margin:0 0 16px}.summary div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.summary dt{color:var(--ink-light)}.summary dd{margin:0;font-weight:600;text-align:right}.bmi{margin:8px 0 16px}.bmi-head{display:flex;justify-content:space-between;margin-bottom:8px}.bmi-track{position:relative;display:flex;height:10px;border-radius:5px;overflow:visible}.bmi-track>span:not(.bmi-marker){height:100%}.bmi-track>span:first-child{border-radius:5px 0 0 5px}.bmi-track>span:nth-child(4){border-radius:0 5px 5px 0}.bmi-marker{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:var(--white);border:4px solid var(--ink);transform:translate(-50%,-50%)}.bmi-labels{display:flex;font-size:.72rem;color:var(--ink-light);margin-top:6px}.bmi-labels span{text-align:center}.path h2{text-align:center;font-family:var(--font-body);font-size:1.05rem;font-weight:500;color:var(--ink-mid)}.curve{width:100%;height:auto;display:block}.curve-label{font:600 14px var(--font-body);fill:var(--ink)}.curve-axis{font:12px var(--font-body);fill:var(--ink-light)}.curve-event{font:600 11px var(--font-body);fill:#8a6612}.path-arrival{text-align:center;font-weight:600;color:var(--green-deep);margin:8px 0 0}.path-estimate{text-align:center;font-size:.8rem;color:var(--ink-light)}.path-maintain{text-align:center;font-weight:600;color:var(--green-deep)}.doctor-note{background:var(--gold-light);border:1px solid #ffe3a3;border-radius:var(--radius);padding:12px 16px;font-size:.95rem}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;color:var(--gold);font-weight:600;margin-bottom:4px}.sofia-quote{display:flex;gap:10px;align-items:center;font-style:italic;color:var(--green-mid);margin:0}.sofia-quote img{border-radius:50%;flex:none}.includes{margin:0;padding-left:0;list-style:none;display:grid;gap:8px}.includes li:before{content:"✓";color:var(--green-bright);font-weight:700;margin-right:8px}.sticky-cta{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--cream) 30%)}.today-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.today-head img{border-radius:50%}.today-head h1{font-size:1.4rem;margin:0;flex:1}.badge{background:var(--gold-light);color:#8a6612;border:1px solid #ffe3a3;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.week{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}.week-day{flex:none;border:1.5px solid var(--line);background:var(--white);border-radius:999px;padding:6px 12px;font-size:.85rem;color:var(--ink-light)}.week-day-on{background:var(--green-mid);border-color:var(--green-mid);color:var(--white);font-weight:600}.today-goal{font-weight:600;color:var(--green-deep)}.tile{flex:none;width:56px;height:56px;border-radius:14px;background:var(--green-pale);display:grid;place-items:center;font-size:1.8rem}.drink-card,.meal-link{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}.drink-card{margin-bottom:12px;background:var(--gold-light);border-color:#ffe3a3}.drink-card strong,.meal-link strong{display:block}.muted{display:block;color:var(--ink-light);font-size:.875rem}.meals{display:grid;gap:12px}.meal .eyebrow{margin-bottom:8px}.meal-actions{display:flex;gap:8px;margin-top:12px}.pill{flex:1;border:1.5px solid var(--line);background:var(--white);border-radius:999px;padding:9px 10px;font-size:.875rem;color:var(--ink-mid)}.pill-on{border-color:var(--green-bright);background:var(--green-pale);color:var(--green-deep);font-weight:600}.water{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.water p{margin:0;font-weight:600}.water-actions{display:flex;align-items:center;gap:10px;font-size:1.3rem}.habit{display:flex;gap:12px;align-items:flex-start;margin-top:12px;cursor:pointer}.habit input{width:22px;height:22px;margin-top:2px;accent-color:var(--green-bright);flex:none}.habit .eyebrow{display:block}.tip{margin-top:12px}.tip h2{font-size:1.1rem}.recipe-hero{font-size:4rem;text-align:center;background:var(--green-pale);border-radius:var(--radius);padding:24px;margin:12px 0 16px}.ingredients{list-style:none;padding:0;margin:0 0 16px}.ingredients li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.ingredients li span:last-child{color:var(--ink-mid);text-align:right}.steps{padding-left:20px;display:grid;gap:10px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1c2b1e73;display:flex;align-items:flex-end;justify-content:center}.sheet{position:relative;width:100%;max-width:var(--max);max-height:92vh;overflow-y:auto;background:var(--cream);border-radius:24px 24px 0 0;padding:28px var(--gutter) calc(24px + env(safe-area-inset-bottom));display:grid;gap:12px}.sheet-close{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:var(--white);font-size:1.5rem;color:var(--ink-mid)}.paywall-avatar{border-radius:50%;justify-self:center}.sheet h2{text-align:center;margin:0}.price-box{background:var(--white);border:1.5px solid var(--green-light);border-radius:var(--radius);padding:14px 16px;text-align:center}.price-line{font-weight:700;font-size:1.1rem;color:var(--green-deep);margin:0 0 4px}.renewal{font-size:.875rem;color:var(--ink-mid);margin:0}.soon{text-align:center;font-size:.85rem;color:var(--ink-light);margin:-4px 0 0}.reassurance{text-align:center;font-size:.875rem;color:var(--green-mid);margin:0}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:70;background:var(--ink);color:var(--white);padding:10px 16px;border-radius:999px;font-size:.875rem;max-width:calc(100% - 32px);text-align:center}.privacy-list{display:grid;gap:10px;padding-left:20px;margin-bottom:24px}.privacy-contact{margin-top:16px;font-size:.9rem}
