@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cg-0.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cg-1.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cg-2.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cg-3.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cg-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cg-0.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cg-1.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cg-2.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cg-3.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cg-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cg-0.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cg-1.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cg-2.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cg-3.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cg-4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream: #f7f3ed;--ink: #221d18;--ink-hover: #3a322a;--clay: #a6714f;--clay-dark: #8a5a3d;--gold: #c9a382;--sand: #ebe3d7;--sand-2: #ddd3c6;--sand-3: #d6cbbc;--taupe: #8a8178;--taupe-dark: #6e655b;--taupe-light: #a6998a;--card: #ffffff;--stripes: repeating-linear-gradient(45deg, #e8e0d4 0 10px, #efe8dd 10px 20px);--font-display: "Cormorant Garamond", Georgia, serif;--font-ui: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--cream);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button{font-family:inherit;border:none;background:none;color:inherit;cursor:pointer}.screen{min-height:100dvh;display:flex;flex-direction:column}.eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--taupe-light)}.btn-primary{display:flex;align-items:center;justify-content:center;height:56px;width:100%;border-radius:999px;background:var(--ink);color:var(--cream);font-size:15px;letter-spacing:1px;transition:background .2s}.btn-primary:hover,.btn-primary:active{background:var(--ink-hover)}.welcome{justify-content:space-between;padding:calc(88px + env(safe-area-inset-top,0px)) 32px 56px}.welcome-top{display:flex;flex-direction:column;gap:18px}.wordmark{font-family:var(--font-display);font-size:54px;font-weight:500;letter-spacing:10px;color:var(--ink)}.welcome-rule{width:36px;height:1px;background:var(--clay)}.tagline{font-size:15px;line-height:1.65;color:var(--taupe-dark);max-width:280px}.welcome-bottom{display:flex;flex-direction:column;gap:16px}.quiz{padding:calc(40px + env(safe-area-inset-top,0px)) 28px 48px}.quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.back-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--sand-2);font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.back-btn:hover{background:#efe8dd}.progress-dashes{display:flex;gap:6px}.dash{width:24px;height:3px;border-radius:2px;background:var(--sand-2)}.dash.filled{background:var(--clay)}.quiz-spacer{width:36px}.quiz .eyebrow{margin-bottom:14px}.question-title{font-family:var(--font-display);font-size:32px;line-height:1.2;font-weight:500;color:var(--ink);margin-bottom:34px}.choices{display:flex;flex-direction:column;gap:12px}.choice{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1.5px solid var(--sand);border-radius:16px;padding:20px 22px;font-size:15px;color:var(--ink);text-align:left;transition:border-color .2s,background .2s}.choice:hover{border-color:#c9b49e}.choice.selected{border-color:var(--clay)}.radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--sand-3);background:transparent;flex-shrink:0;transition:border-color .2s,background .2s}.choice.selected .radio{border-color:var(--clay);background:var(--clay)}.selfie{padding:calc(40px + env(safe-area-inset-top,0px)) 24px 48px}.selfie .eyebrow{margin-bottom:14px}.selfie-title{font-family:var(--font-display);font-size:30px;line-height:1.2;font-weight:500;margin-bottom:20px}.viewport{position:relative;flex:1;min-height:320px;border-radius:24px;overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,#3e3a35,#211e1b 70%);display:flex;align-items:center;justify-content:center}.viewport video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.face-oval{position:relative;width:230px;height:310px;border:2px dashed rgba(255,255,255,.75);border-radius:50%;animation:oval-pulse 2.4s ease-in-out infinite}@keyframes oval-pulse{0%,to{opacity:.55}50%{opacity:1}}.viewport-caption{position:absolute;top:18px;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#ffffff80}.viewport-hint{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:12px;color:#ffffffa6}.shutter-row{margin-top:24px;display:flex;justify-content:center}.shutter{width:72px;height:72px;border-radius:50%;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;transition:background .2s}.shutter:hover{background:#efe8dd}.shutter-disc{width:56px;height:56px;border-radius:50%;background:var(--ink)}.analyzing{background:var(--ink);color:var(--cream);align-items:center;justify-content:center;padding:0 40px;text-align:center}.spinner{position:relative;width:140px;height:140px;margin-bottom:40px;display:flex;align-items:center;justify-content:center}.spinner-ring,.spinner-arc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid rgba(247,243,237,.15)}.spinner-arc{border-color:transparent;border-top-color:var(--gold);animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-pct{font-family:var(--font-display);font-size:38px;color:var(--cream)}.analyzing .eyebrow{color:var(--taupe-light);margin-bottom:14px}.status-line{font-family:var(--font-display);font-size:24px;color:var(--cream)}.advice{padding:calc(40px + env(safe-area-inset-top,0px)) 0 40px}.hero-slot{position:relative;margin:0 24px;height:280px;border-radius:20px;overflow:hidden;background:var(--stripes)}.hero-slot img{width:100%;height:100%;object-fit:cover;display:block}.hero-markers{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--taupe-light)}.advice-body{display:flex;flex-direction:column;gap:14px;padding:26px 30px 0;flex:1}.reading-row{display:flex;align-items:center;justify-content:space-between}.score-chip{background:var(--ink);color:var(--cream);font-size:12px;font-weight:500;padding:6px 14px;border-radius:999px}.advice-headline{font-family:var(--font-display);font-size:32px;line-height:1.15;font-weight:500}.advice-text{font-size:14.5px;line-height:1.7;color:var(--taupe-dark)}.advice-cta{margin-top:auto;padding:24px 24px 0}.shop{padding:76px 24px 40px}.shop .eyebrow{margin-bottom:14px}.shop-title{font-family:var(--font-display);font-size:30px;line-height:1.2;font-weight:500;margin-bottom:8px}.shop-sub{font-size:13px;color:var(--taupe);margin-bottom:22px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.product-card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--sand);border-radius:18px;padding:12px}.product-img{position:relative;height:120px;border-radius:12px;background:var(--stripes)}.tag-pill{position:absolute;top:8px;left:8px;background:var(--cream);color:#8a6a4c;font-family:var(--font-mono);font-size:9.5px;letter-spacing:1px;text-transform:lowercase;padding:4px 10px;border-radius:999px}.product-name{font-size:13.5px;font-weight:500;color:var(--ink)}.product-price{font-size:12px;color:var(--taupe)}.add-btn{height:36px;border-radius:999px;font-size:12.5px;border:1.5px solid var(--sand-3);color:var(--ink);background:transparent;transition:all .2s}.add-btn.added{background:var(--ink);border-color:var(--ink);color:var(--cream)}.shop-footer{display:flex;justify-content:center;margin-top:28px}.restart-link{font-size:12px;color:var(--clay);border-bottom:1px solid #d8c4b2;padding-bottom:1px;transition:color .2s}.restart-link:hover{color:var(--clay-dark)}.shell-screen{padding:calc(28px + env(safe-area-inset-top,0px)) 24px 24px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.shell-title{font-family:var(--font-display);font-size:32px;line-height:1.2;font-weight:500;margin-bottom:18px}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:flex-end;justify-content:space-between;padding:10px 18px max(32px,env(safe-area-inset-bottom,0px));background:#f7f3edeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--sand)}.tab-item{display:flex;flex-direction:column;align-items:center;gap:5px;width:56px;min-height:44px;justify-content:flex-end;text-decoration:none;cursor:pointer}.tab-dot{width:5px;height:5px;border-radius:50%;background:transparent;transition:background .2s}.tab-dot.active{background:var(--clay)}.tab-label{font-size:10px;font-weight:500;color:#8a8178;transition:color .2s}.tab-label.active{color:var(--ink)}.tab-scan{gap:6px}.scan-circle{width:52px;height:52px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;margin-top:-18px;transition:background .2s}.scan-circle.active{background:var(--clay)}.scan-oval{width:20px;height:26px;border:1.5px dashed rgba(247,243,237,.85);border-radius:50%}.card{background:var(--card);border:1px solid var(--sand);border-radius:20px}.today{gap:22px}.today-greeting .eyebrow{margin-bottom:8px}.greeting-title{font-family:var(--font-display);font-size:32px;font-weight:500;line-height:1.15}.checklist-card{padding:18px}.checklist-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.checklist-counter{font-size:12px;color:var(--clay)}.checklist-row{display:flex;align-items:center;gap:14px;width:100%;padding:13px 0;border-bottom:1px solid #f2ece2;text-align:left}.checklist-row:last-child{border-bottom:none;padding-bottom:4px}.check-circle{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--sand-3);background:transparent;color:var(--cream);font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s}.check-circle.done{background:var(--clay);border-color:var(--clay)}.checklist-text{display:flex;flex-direction:column;gap:2px}.checklist-name{font-size:14px;font-weight:500;color:var(--ink);transition:color .2s}.checklist-name.done{color:var(--taupe-light);text-decoration:line-through}.checklist-sub{font-size:11.5px;color:var(--taupe)}.score-card{display:flex;align-items:center;gap:18px;background:var(--ink);border-radius:20px;padding:18px 20px}.score-circle{width:64px;height:64px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:26px;color:var(--cream);flex-shrink:0}.score-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.score-title{font-size:13.5px;font-weight:500;color:var(--cream)}.score-sub{font-size:11.5px;color:var(--taupe-light)}.rescan-btn{height:38px;padding:0 18px;border-radius:999px;background:var(--cream);color:var(--ink);font-size:12.5px;flex-shrink:0;transition:background .2s}.rescan-btn:hover{background:#efe8dd}.note-card{display:flex;align-items:center;gap:14px;padding:16px}.note-img{width:64px;height:64px;border-radius:12px;background:var(--stripes);flex-shrink:0}.note-text{display:flex;flex-direction:column;gap:6px}.note-copy{font-size:13px;line-height:1.5;color:var(--ink)}.replenish-row{display:flex;align-items:center;gap:14px}.replenish-thumb{width:44px;height:44px;border-radius:10px;background:var(--stripes);flex-shrink:0}.replenish-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.replenish-title{font-size:13px;font-weight:500;color:var(--ink)}.replenish-sub{font-size:11.5px;color:var(--taupe)}.reorder-btn{height:36px;padding:0 16px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-size:12.5px;flex-shrink:0;transition:all .2s}.reorder-btn:hover{background:var(--ink);color:var(--cream)}.rituals{gap:16px}.rituals .shell-title{margin-bottom:2px}.scan-camera .scan-title{font-family:var(--font-display);font-size:28px;line-height:1.2;font-weight:500;margin-bottom:18px}.face-oval.small{width:200px;height:270px}.shutter.small{width:64px;height:64px}.shutter.small .shutter-disc{width:48px;height:48px}.analyzing.shell-screen{align-items:center;justify-content:center;padding-left:40px;padding-right:40px}.scan-result{gap:14px}.scan-hero{margin:0 auto;height:340px;width:auto;aspect-ratio:3 / 4;max-width:100%}.scan-result-headline{font-family:var(--font-display);font-size:28px;line-height:1.15;font-weight:500}.scan-result-cta{margin-top:auto;padding-top:20px}.profile-card{padding:4px 18px}.profile-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;border-bottom:1px solid #f2ece2;font-size:14px;color:var(--ink);text-align:left}.profile-row:last-child{border-bottom:none}.profile-chevron{color:var(--taupe-light);font-size:16px}.tab-item{width:auto;min-width:44px}.tab-analyze{gap:6px}.home,.analyze,.routine,.community,.scan-result,.subscription{gap:18px}.home{gap:22px}section{display:flex;flex-direction:column}.section-header{margin-bottom:10px}.eyebrow.clay{color:var(--clay)}.btn-primary:disabled{opacity:.4;cursor:default}.btn-primary:disabled:hover{background:var(--ink)}.text-link{font-size:12px;color:var(--clay);align-self:center;border-bottom:1px solid #d8c4b2;padding-bottom:1px;transition:color .2s}.text-link:hover{color:var(--clay-dark)}.empty-note{font-size:13.5px;line-height:1.6;color:var(--taupe);padding:12px 0}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.score-factors{font-size:11.5px;color:var(--gold)}.env-card{padding:16px 18px;display:flex;flex-direction:column;gap:8px}.env-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.env-chips{display:flex;gap:6px}.env-chip{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.5px;color:#8a6a4c;background:var(--cream);border:1px solid var(--sand);border-radius:999px;padding:3px 8px;white-space:nowrap}.env-text{font-size:13px;line-height:1.55;color:var(--ink)}.rec-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rec-row:has(>:nth-child(3)){grid-template-columns:1fr 1fr 1fr}.rec-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--card);border:1px solid var(--sand);border-radius:16px;padding:10px;text-align:left;transition:border-color .2s}.rec-card:hover{border-color:#c9b49e}.rec-img{position:relative;width:100%;height:84px;border-radius:10px;background:var(--stripes)}.rec-name{font-size:12.5px;font-weight:500;color:var(--ink);line-height:1.3}.rec-price{font-size:11.5px;color:var(--taupe)}.ship-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;text-align:left;width:100%}.ship-text{display:flex;flex-direction:column;gap:4px}.ship-title{font-size:14px;font-weight:500;color:var(--ink)}.ship-sub{font-size:11.5px;color:var(--taupe)}.news-strip{display:flex;gap:12px;overflow-x:auto;margin:0 -24px;padding:0 24px 4px;scrollbar-width:none}.news-strip::-webkit-scrollbar{display:none}.news-mini{flex:0 0 200px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--card);border:1px solid var(--sand);border-radius:16px;padding:14px;text-align:left}.news-kind{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;color:#8a6a4c}.news-mini-title{font-family:var(--font-display);font-size:16px;line-height:1.3;font-weight:500;color:var(--ink)}.reading-card{display:flex;flex-direction:column;gap:12px;padding:18px;text-align:left;width:100%}.reading-card-header{display:flex;align-items:center;justify-content:space-between}.reading-date{font-size:11.5px;color:var(--taupe)}.reading-link{font-size:12px;color:var(--clay)}.row-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;text-align:left;width:100%}.row-card-text{display:flex;flex-direction:column;gap:3px}.row-card-title{font-size:14px;font-weight:500;color:var(--ink)}.row-card-sub{font-size:11.5px;color:var(--taupe);line-height:1.4}.status-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--sand-3);flex-shrink:0}.status-dot.done{background:var(--clay);border-color:var(--clay)}.metric-list{display:flex;flex-direction:column;gap:10px}.metric-list.card{padding:16px 18px}.metric-row{display:flex;align-items:center;gap:10px}.metric-label{flex:0 0 84px;font-size:11.5px;color:var(--taupe-dark)}.metric-track{flex:1;height:4px;border-radius:2px;background:var(--sand);overflow:hidden}.metric-fill{display:block;height:100%;border-radius:2px;background:var(--clay)}.metric-value{flex:0 0 24px;text-align:right;font-family:var(--font-mono);font-size:10px;color:var(--taupe)}.insight-list{display:flex;flex-direction:column;gap:10px}.insight-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px}.insight-title{font-size:13px;font-weight:500;color:var(--ink)}.insight-text{font-size:12.5px;line-height:1.55;color:var(--taupe-dark)}.question-title.small{font-size:28px}.questionnaire-footer{margin-top:auto;padding-top:24px}.questionnaire.shell-screen{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.coming-soon{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-style:dashed;background:transparent}.coming-soon-title{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--ink)}.coming-soon-text{font-size:12.5px;line-height:1.5;color:var(--taupe)}.search-input{width:100%;height:46px;border-radius:999px;border:1.5px solid var(--sand);background:var(--card);padding:0 20px;font-family:var(--font-ui);font-size:13.5px;color:var(--ink);margin-bottom:12px;outline:none;transition:border-color .2s}.search-input:focus{border-color:#c9b49e}.search-input::placeholder{color:var(--taupe-light)}.filter-row{display:flex;gap:8px;overflow-x:auto;margin:0 -24px 18px;padding:0 24px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-pill{flex-shrink:0;height:32px;padding:0 16px;border-radius:999px;border:1.5px solid var(--sand-3);background:transparent;font-size:12px;color:var(--ink);text-transform:capitalize;transition:all .2s}.filter-pill.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.shop-recs{margin-bottom:18px}.cart-pill{position:fixed;right:20px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:9;height:44px;padding:0 20px;border-radius:999px;background:var(--ink);color:var(--cream);font-size:13px;letter-spacing:.5px;box-shadow:0 6px 18px #221d1840;transition:background .2s}.cart-pill:hover{background:var(--ink-hover)}.detail-img{position:relative;height:240px;border-radius:20px;background:var(--stripes);margin-bottom:18px}.cart-link{font-size:12.5px;color:var(--ink);border:1.5px solid var(--sand-3);border-radius:999px;height:36px;padding:0 14px;transition:all .2s}.cart-link:hover{border-color:#c9b49e}.detail-name{font-family:var(--font-display);font-size:30px;line-height:1.15;font-weight:500;margin:6px 0 4px}.detail-meta{font-size:13px;color:var(--taupe);margin-bottom:12px}.product-detail .section-header{margin:18px 0 10px}.ingredient-row{display:flex;flex-wrap:wrap;gap:8px}.ingredient-chip{font-size:12px;color:var(--ink);background:var(--card);border:1px solid var(--sand);border-radius:999px;padding:7px 14px}.detail-cta{margin-top:auto;padding-top:24px;display:flex;gap:12px;align-items:center}.detail-add{flex:1}.qty-stepper{display:flex;align-items:center;gap:4px;border:1.5px solid var(--sand-3);border-radius:999px;height:56px;padding:0 6px;flex-shrink:0}.qty-stepper button{width:36px;height:36px;border-radius:50%;font-size:17px;color:var(--ink);transition:background .2s}.qty-stepper button:hover{background:#efe8dd}.qty-stepper span{min-width:20px;text-align:center;font-size:14px;font-weight:500}.qty-stepper.small{height:36px;padding:0 2px}.qty-stepper.small button{width:28px;height:28px;font-size:14px}.qty-stepper.small span{min-width:16px;font-size:12.5px}.cart-lines{display:flex;flex-direction:column}.cart-line{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #f2ece2}.cart-line-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cart-line-name{font-size:13.5px;font-weight:500;color:var(--ink)}.cart-line-price{font-size:12px;color:var(--taupe)}.cart-total-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:14px;color:var(--taupe-dark)}.cart-total{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--ink)}.cart-cta{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:14px}.form-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.text-input{height:50px;border-radius:14px;border:1.5px solid var(--sand);background:var(--card);padding:0 18px;font-family:var(--font-ui);font-size:13.5px;color:var(--ink);outline:none;transition:border-color .2s}.text-input:focus{border-color:#c9b49e}.text-input::placeholder{color:var(--taupe-light)}.pay-list,.plan-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.pay-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1.5px solid var(--sand);border-radius:16px;padding:16px 18px;font-size:13.5px;color:var(--ink);text-align:left;transition:border-color .2s}.pay-row:hover:not(:disabled){border-color:#c9b49e}.pay-row.selected{border-color:var(--clay)}.pay-row.selected .radio{border-color:var(--clay);background:var(--clay)}.pay-row:disabled{opacity:.5;cursor:default}.checkout-done .done-center{margin:auto 0;display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}.order-list{display:flex;flex-direction:column;gap:12px}.order-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px}.order-header{display:flex;align-items:center;justify-content:space-between}.order-id{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--taupe-dark)}.order-status{font-size:11px;color:var(--clay);background:var(--cream);border:1px solid var(--sand);border-radius:999px;padding:3px 10px}.order-date{font-size:11.5px;color:var(--taupe)}.order-items{font-size:13px;line-height:1.5;color:var(--ink)}.order-total{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--ink)}.usage-card{padding:4px 18px}.usage-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #f2ece2}.usage-row:last-child{border-bottom:none}.usage-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.usage-name{font-size:13.5px;font-weight:500;color:var(--ink)}.usage-days{font-size:11.5px;color:var(--taupe)}.usage-days.low{color:var(--clay)}.reorder-btn.wide{width:100%;height:48px}.segment-row{display:flex;gap:8px;margin-bottom:4px}.segment-pill{height:34px;padding:0 18px;border-radius:999px;border:1.5px solid var(--sand-3);background:transparent;font-size:12.5px;color:var(--ink);transition:all .2s}.segment-pill.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.news-list{display:flex;flex-direction:column;gap:12px}.news-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;text-align:left;width:100%;transition:border-color .2s}.news-card:hover{border-color:#c9b49e}.news-card-top{display:flex;align-items:center;justify-content:space-between;width:100%}.news-date{font-size:11px;color:var(--taupe-light)}.news-title{font-family:var(--font-display);font-size:19px;line-height:1.25;font-weight:500;color:var(--ink)}.news-excerpt{font-size:12.5px;line-height:1.55;color:var(--taupe-dark)}.article-img{height:180px;border-radius:20px;background:var(--stripes);margin-bottom:16px}.article-title{font-family:var(--font-display);font-size:28px;line-height:1.2;font-weight:500;margin:8px 0 12px}.article .advice-text{margin-bottom:12px}.profile-row-text{display:flex;flex-direction:column;gap:2px}.profile-row-sub{font-size:11.5px;color:var(--taupe)}.profile-row.soon{opacity:.55;cursor:default}.profile-row.soon .profile-chevron{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1px;text-transform:uppercase}.start-over{margin-top:10px}.plan-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px}.plan-card-header{display:flex;align-items:center;justify-content:space-between}.plan-name{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--ink)}.status-pill{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;border-radius:999px;padding:4px 10px}.status-pill.active{color:var(--cream);background:var(--clay)}.status-pill.paused{color:#8a6a4c;background:var(--sand)}.status-pill.cancelled{color:var(--taupe);background:var(--sand)}.plan-price{font-size:13.5px;font-weight:500;color:var(--ink)}.plan-blurb{font-size:12.5px;line-height:1.5;color:var(--taupe-dark)}.ship-detail{display:flex;flex-direction:column;gap:6px;padding:16px 18px}.ship-items{display:flex;flex-direction:column;gap:8px;margin-top:8px}.ship-item{display:flex;align-items:center;gap:10px}.replenish-thumb.small{width:28px;height:28px;border-radius:7px}.ship-item-name{font-size:12.5px;color:var(--ink)}.plan-row-text{display:flex;flex-direction:column;gap:2px}.plan-row-sub{font-size:11.5px;color:var(--taupe)}.billing-card{padding:4px 18px}.billing-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #f2ece2}.billing-row:last-child{border-bottom:none}.billing-text{display:flex;flex-direction:column;gap:2px}.billing-label{font-size:13px;font-weight:500;color:var(--ink)}.billing-date{font-size:11.5px;color:var(--taupe)}.billing-amount{font-size:13.5px;font-weight:500;color:var(--ink)}.sub-actions{display:flex;flex-direction:column;gap:16px;padding-top:8px}.cancel-confirm{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.cancel-note{font-size:12.5px;line-height:1.5;color:var(--taupe-dark)}.cancel-row{display:flex;gap:16px;align-items:center}.coach-card{display:flex;align-items:center;gap:14px;padding:16px 18px;text-align:left;width:100%;transition:border-color .2s}.coach-card:hover{border-color:#c9b49e}.coach-card .row-card-text{flex:1;min-width:0}.coach-mark{width:40px;height:40px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}.coach-mark .scan-oval{width:14px;height:19px}.coach{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.coach .detail-header{align-items:center}.chat-scroll{display:flex;flex-direction:column;gap:10px;flex:1}.chat-bubble{max-width:82%;padding:12px 16px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}.chat-bubble.coach{align-self:flex-start;background:var(--card);border:1px solid var(--sand);border-radius:18px 18px 18px 6px;color:var(--ink)}.chat-bubble.user{align-self:flex-end;background:var(--ink);color:var(--cream);border-radius:18px 18px 6px}.chat-bubble.typing{display:flex;gap:5px;align-items:center;padding:14px 16px}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--sand-3);animation:typing-pulse 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.suggestion-chip{border:1.5px solid var(--sand-3);border-radius:999px;padding:9px 16px;font-size:12.5px;color:var(--ink);background:transparent;transition:all .2s}.suggestion-chip:hover{border-color:var(--clay);color:var(--clay-dark)}.chat-input-bar{position:fixed;left:0;right:0;bottom:0;z-index:9;display:flex;gap:10px;padding:10px 20px calc(14px + env(safe-area-inset-bottom,0px));background:#f7f3edeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-input{flex:1;height:48px;border-radius:999px;border:1.5px solid var(--sand);background:var(--card);padding:0 20px;font-family:var(--font-ui);font-size:13.5px;color:var(--ink);outline:none;transition:border-color .2s}.chat-input:focus{border-color:#c9b49e}.chat-input::placeholder{color:var(--taupe-light)}.chat-send{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--cream);font-size:18px;flex-shrink:0;transition:background .2s}.chat-send:hover{background:var(--ink-hover)}.chat-send:disabled{opacity:.35;cursor:default}.tab-icon{display:flex;align-items:center;justify-content:center;color:#8a8178;transition:color .2s}.tab-icon.active{color:var(--clay)}.scan-circle{color:#f7f3ede6}.coach-mark{color:var(--gold)}.chat-send{display:flex;align-items:center;justify-content:center}.today-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.greeting-text{display:flex;flex-direction:column}.greeting-text .eyebrow{margin-bottom:8px}.profile-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--sand-2);display:flex;align-items:center;justify-content:center;color:var(--ink);flex-shrink:0;margin-top:4px;transition:background .2s}.profile-btn:hover{background:#efe8dd}
