@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%;background:#faf5ee}body{margin:0;background:#faf5ee;color:var(--color-space-indigo);font-family:var(--font-app);font-weight:400;letter-spacing:0;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}a{color:inherit;text-decoration:none}button,input,select{font:inherit}:root{--font-app: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-tropical-teal: #DC1E4E;--color-space-indigo: #000000;--color-white-smoke: #F9FBFA;--color-old-gold: #948CF9;--color-platinum: #B0AAD8;--color-surface: #ffffff;--color-danger: #DC1E4E;--color-danger-soft: rgb(251 172 190 / 26%);--color-border: var(--color-platinum);--color-text-muted: rgb(0 0 0 / 58%);--shadow-focus: 0 0 0 3px rgb(251 172 190 / 45%)}.mobile-splash,.mobile-onboarding{background:radial-gradient(circle at 50% 34%,rgb(255 255 255 / 42%),transparent 30%),linear-gradient(180deg,#f78db8,#f8bdd4 48%,#f596c2);color:var(--color-space-indigo);min-height:100vh;overflow:hidden;position:relative}.mobile-splash{align-items:center;display:grid;justify-items:center;padding:28px;text-align:center}.mobile-splash-logo-wrap{align-items:center;animation:splash-rise .72s ease both;background:#ffffffbd;border:1px solid rgb(255 255 255 / 88%);border-radius:50%;box-shadow:0 22px 52px #dc1e4e38;display:inline-flex;height:clamp(180px,44vw,210px);justify-content:center;width:clamp(180px,44vw,210px)}.mobile-splash-logo{border-radius:50%;display:block;height:clamp(150px,36vw,176px);object-fit:cover;width:clamp(150px,36vw,176px)}.mobile-onboarding{height:100vh}.mobile-onboarding-visual{display:grid;height:100vh;overflow:hidden;position:relative}.mobile-onboarding-image{display:block;height:100%;object-fit:cover;object-position:center top;width:100%}@media(min-width:768px){.mobile-onboarding-visual{background:radial-gradient(circle at 50% 28%,rgb(255 255 255 / 42%),transparent 28%),linear-gradient(180deg,#f78db8,#f8bdd4 48%,#f596c2);justify-items:center}.mobile-onboarding-image{height:100vh;max-width:min(620px,100vw);object-fit:cover;object-position:center center;width:min(620px,100vw)}}.mobile-onboarding-minimal-copy{left:0;padding:calc(26px + env(safe-area-inset-top)) 24px 0;position:absolute;right:0;text-align:center;top:0;z-index:2}.mobile-onboarding-minimal-copy p{color:var(--color-tropical-teal);font-size:12px;font-weight:700;margin:0 0 6px;text-transform:uppercase}.mobile-onboarding-minimal-copy h1{color:#812244;font-size:clamp(26px,7vw,40px);font-weight:700;line-height:1.05;margin:0 auto;max-width:420px}.mobile-cloud{background:#fff6fbc2;border-radius:999px;height:42px;position:absolute;width:96px}.mobile-cloud:before,.mobile-cloud:after{background:inherit;border-radius:50%;content:"";position:absolute}.mobile-cloud:before{height:58px;left:18px;top:-22px;width:58px}.mobile-cloud:after{height:48px;right:-18px;top:-10px;width:48px}.mobile-cloud-left{left:-20px;top:34%}.mobile-cloud-right{right:-24px;top:25%}.mobile-flower{border:9px solid rgb(220 30 78 / 44%);border-radius:44% 56% 48% 52%;bottom:-52px;height:150px;position:absolute;width:180px}.mobile-flower:before,.mobile-flower:after{border:8px solid rgb(220 30 78 / 34%);border-radius:45% 55% 40% 60%;content:"";height:92px;position:absolute;width:112px}.mobile-flower:before{left:-58px;top:54px}.mobile-flower:after{right:-46px;top:42px}.mobile-flower-left{left:-74px}.mobile-flower-right{right:-62px}.life-stage-row{align-items:end;bottom:70px;display:grid;gap:clamp(10px,2.4vw,24px);grid-template-columns:repeat(6,minmax(42px,1fr));left:50%;max-width:880px;padding:0 28px;position:absolute;transform:translate(-50%);width:100%;z-index:1}.life-stage-figure{display:grid;justify-items:center;position:relative}.life-stage-figure:before{background:#ffbd91;border-radius:50%;box-shadow:inset -7px 0 #0000001f;content:"";height:clamp(28px,5vw,50px);width:clamp(28px,5vw,50px)}.life-stage-figure:after{background:#f26a91;border-radius:999px 999px 10px 10px;content:"";height:clamp(92px,16vw,176px);margin-top:-2px;width:clamp(42px,7vw,82px)}.life-stage-figure i{background:#303038;border-radius:50% 50% 42% 42%;height:clamp(34px,6vw,60px);position:absolute;top:-8px;width:clamp(34px,6vw,62px);z-index:-1}.life-stage-figure.is-student:after{background:linear-gradient(180deg,#dff2ff 0,#dff2ff 42%,#d7264f 42%,#d7264f)}.life-stage-figure.is-young:after{background:#f7abc7}.life-stage-figure.is-pregnant:after{background:radial-gradient(circle at 62% 62%,#ff9eb9 0 26%,transparent 27%),#ef5f86}.life-stage-figure.is-active:after{background:#fb8fb0}.life-stage-figure.is-mother:after{background:#f6a5bd}.life-stage-figure.is-elder:before{background:#ffd0a6}.life-stage-figure.is-elder:after{background:#f2a6bf}.life-stage-figure.is-elder i{background:#aeb7b4}.mobile-onboarding-actions{bottom:calc(18px + env(safe-area-inset-bottom));display:grid;gap:10px;left:50%;max-width:430px;padding:0 20px;position:absolute;transform:translate(-50%);width:100%;z-index:2}.mobile-onboarding-actions button{border:0;border-radius:999px;cursor:pointer;font:inherit;font-weight:700;min-height:52px}.mobile-onboarding-primary{background:var(--color-tropical-teal);color:var(--color-surface)}@keyframes splash-rise{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.app-shell{margin:0 auto;max-width:1120px;min-height:100vh;padding:24px}.topbar,.form-header,.form-navigation{align-items:center;display:flex;gap:16px;justify-content:space-between}.topbar{border-bottom:1px solid var(--color-border);padding-bottom:9px;margin-bottom:7px}.topbar-brand-logo{background:#fbacbe;border:2px solid rgb(255 255 255 / 86%);border-radius:50%;box-shadow:0 8px 20px #0000001a;display:block;height:56px;object-fit:cover;width:56px}.topbar-icon-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-space-indigo);cursor:pointer;display:inline-flex;height:42px;justify-content:center;transition:background .16s ease,border-color .16s ease,color .16s ease;width:42px}.topbar-icon-button:hover,.topbar-icon-button:focus-visible{background:#fbacbe1a;border-color:var(--color-tropical-teal);color:var(--color-tropical-teal);outline:0}.topbar-icon-button.active{background:#fbacbe29;border-color:var(--color-tropical-teal);color:var(--color-tropical-teal)}.app-nav-tabs{align-items:center;background:#ffffffe0;border:1px solid var(--color-border);border-radius:8px;display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0 32px;padding:6px}.app-nav-tab{align-items:center;border-radius:6px;color:var(--color-text-muted);display:grid;gap:5px;grid-template-rows:24px minmax(32px,auto);justify-items:center;justify-content:center;min-height:72px;padding:7px 8px;text-align:center;transition:background .16s ease,color .16s ease,transform .16s ease}.app-nav-tab svg{align-self:center;flex:0 0 auto}.app-nav-tab span{align-items:center;align-self:stretch;display:flex;font-size:14px;font-weight:500;justify-content:center;line-height:1.15;min-width:0;text-align:center}.app-nav-tab:hover{background:#fbacbe1f;color:var(--color-tropical-teal)}.app-nav-tab.active{background:#fbacbe1f;color:var(--color-tropical-teal);box-shadow:none}.app-placeholder-page{min-height:48vh}.app-placeholder-page h1{color:var(--color-space-indigo);font-size:34px;font-weight:400;margin:0 0 8px}.app-placeholder-page p{color:var(--color-text-muted);font-size:16px;line-height:1.6;margin:0}.settings-page{display:grid;gap:16px}.settings-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px 20px}.settings-header p{color:var(--color-tropical-teal);font-size:13px;font-weight:600;margin:0 0 4px}.settings-header h1{color:var(--color-space-indigo);font-size:28px;font-weight:500;margin:0}.settings-account,.settings-actions{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:16px;padding:20px}.settings-avatar{align-items:center;background:#fbacbe38;border-radius:50%;color:var(--color-tropical-teal);display:flex;flex:0 0 auto;height:54px;justify-content:center;width:54px}.settings-account-copy,.settings-actions>div{display:grid;gap:4px;min-width:0}.settings-account-copy strong,.settings-actions strong{color:var(--color-space-indigo);font-size:16px;font-weight:600}.settings-account-copy span{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:7px;overflow-wrap:anywhere}.settings-actions{justify-content:space-between}.settings-actions>div span{color:var(--color-text-muted);font-size:13px}.settings-logout-button{align-items:center;background:var(--color-tropical-teal);border:1px solid var(--color-tropical-teal);border-radius:6px;color:var(--color-surface);cursor:pointer;display:inline-flex;flex:0 0 auto;gap:8px;justify-content:center;min-height:42px;padding:8px 18px}.settings-logout-button:hover,.settings-logout-button:focus-visible{background:#b91841;border-color:#b91841;outline:0}@media(max-width:560px){.settings-actions{align-items:stretch;flex-direction:column}.settings-logout-button{width:100%}}.home-page{display:grid;gap:10px}.home-welcome{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:5px;padding:18px 20px}.home-welcome p{color:var(--color-tropical-teal);font-size:13px;font-weight:500;margin:0}.home-welcome h1{align-items:center;color:var(--color-space-indigo);display:flex;flex-wrap:wrap;font-size:24px;font-weight:500;gap:10px;margin:0}.home-welcome h1 span{background:#fbacbe1f;border-radius:999px;color:var(--color-tropical-teal);font-size:12px;font-weight:500;padding:5px 10px}.home-hero{display:grid;gap:4px}.home-hero p{color:var(--color-tropical-teal);font-size:14px;font-weight:500;margin:0}.home-hero h1{color:var(--color-space-indigo);font-size:34px;font-weight:400;margin:0}.home-action-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-action-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 18px 40px #00000012;color:var(--color-space-indigo);cursor:pointer;display:flex;gap:18px;min-height:154px;padding:24px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.home-action-card:hover,.home-action-card:focus-visible{border-color:#fbacbe6b;box-shadow:0 24px 48px #0000001c;outline:0;transform:translateY(-2px)}.home-action-icon{align-items:center;border-radius:8px;display:inline-flex;flex:0 0 auto;height:66px;justify-content:center;width:66px}.home-action-card-teal .home-action-icon{background:#fbacbe1f;color:var(--color-tropical-teal)}.home-action-card-gold .home-action-icon{background:#948cf926;color:var(--color-old-gold)}.home-action-copy{display:grid;gap:8px}.home-action-copy strong{font-size:21px;font-weight:500}.home-action-copy span{color:var(--color-text-muted);font-size:15px;line-height:1.5}.home-dashboard-preview{background:#ffffffd1;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 18px 44px #00000012;display:grid;gap:10px;margin:2px 0 0;overflow:hidden;padding:16px;position:relative}.home-dashboard-preview-blur{display:grid;filter:blur(3px);gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));opacity:.68;pointer-events:none;-webkit-user-select:none;user-select:none}.home-dashboard-preview article,.home-dashboard-chart{background:var(--color-white-smoke);border-radius:8px;display:grid;gap:5px;min-height:92px;padding:14px}.home-dashboard-preview article span{color:var(--color-text-muted);font-size:12px}.home-dashboard-preview article strong{color:var(--color-space-indigo);font-size:23px;font-weight:500}.home-dashboard-preview article small{color:var(--color-text-muted);font-size:12px}.home-dashboard-chart{align-items:end;display:flex;grid-column:1 / -1;min-height:120px}.home-dashboard-chart i{background:#fbacbe3d;border-radius:999px 999px 0 0;flex:1}.home-dashboard-chart i:nth-child(1){height:42%}.home-dashboard-chart i:nth-child(2){height:64%}.home-dashboard-chart i:nth-child(3){background:#948cf947;height:50%}.home-dashboard-chart i:nth-child(4){height:76%}.home-dashboard-chart i:nth-child(5){height:58%}.home-dashboard-preview>p{background:#ffffffc2;border-radius:999px;color:var(--color-space-indigo);font-size:13px;font-weight:500;left:50%;margin:0;padding:8px 13px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.screening-page{display:grid;gap:16px}.screening-page-header{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;justify-content:space-between;padding:18px 20px}.screening-page-header p{color:var(--color-tropical-teal);font-size:13px;font-weight:500;margin:0 0 4px}.screening-page-header h1{color:var(--color-space-indigo);font-size:26px;font-weight:400;line-height:1.15;margin:0}.screening-page-header>span{align-items:center;background:#fbacbe1f;border-radius:8px;color:var(--color-tropical-teal);display:inline-flex;flex:0 0 auto;height:48px;justify-content:center;width:48px}.screening-section-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.screening-section-card{align-items:flex-start;background:#fffffff2;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 12px 30px #0000000f;color:var(--color-space-indigo);cursor:pointer;display:grid;gap:14px;min-height:178px;padding:18px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.screening-section-card:hover,.screening-section-card:focus-visible{border-color:#fbacbe57;box-shadow:0 20px 42px #0000001a;outline:0;transform:translateY(-2px)}.screening-section-icon{align-items:center;border-radius:8px;display:inline-flex;height:54px;justify-content:center;width:54px}.screening-section-card-teal .screening-section-icon{background:#fbacbe1f;color:var(--color-tropical-teal)}.screening-section-card-indigo .screening-section-icon{background:#0000001a;color:var(--color-space-indigo)}.screening-section-card-gold .screening-section-icon{background:#948cf926;color:var(--color-old-gold)}.screening-section-copy{display:grid;gap:7px}.screening-section-copy strong{color:var(--color-space-indigo);font-size:18px;font-weight:500;line-height:1.2}.screening-section-copy small{color:var(--color-text-muted);font-size:13px;font-weight:400;line-height:1.45}.obgyn-form-page{display:grid;gap:14px}.obgyn-back-button{align-items:center;background:var(--color-space-indigo);border:0;border-radius:50%;color:var(--color-surface);cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.obgyn-back-button:hover,.obgyn-back-button:focus-visible{background:var(--color-tropical-teal);outline:0}.obgyn-form-header,.obgyn-form-card,.obgyn-status-card,.obgyn-result-card,.obgyn-review-item{background:#fffffff2;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 12px 30px #0000000f}.obgyn-form-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:18px 20px}.obgyn-form-header>div{flex:1;min-width:0}.obgyn-form-header p{color:var(--color-tropical-teal);font-size:13px;font-weight:500;margin:0 0 4px}.obgyn-form-header h1{color:var(--color-space-indigo);font-size:25px;font-weight:400;line-height:1.2;margin:0}.obgyn-form-header>span{background:#fbacbe1f;border-radius:999px;color:var(--color-tropical-teal);font-size:13px;font-weight:500;padding:8px 11px}.obgyn-stepper{display:grid;gap:7px;grid-template-columns:repeat(11,minmax(0,1fr))}.obgyn-stepper button{background:#948cf924;border:0;border-radius:999px;color:var(--color-space-indigo);cursor:pointer;font:inherit;font-size:12px;min-height:30px}.obgyn-stepper button.is-active{background:#fbacbe6b;color:var(--color-surface)}.obgyn-stepper button.is-complete{background:#948cf92e;color:var(--color-space-indigo)}.obgyn-form-card{padding:18px}.obgyn-stack{display:grid;gap:14px}.obgyn-field-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.obgyn-field{color:var(--color-space-indigo);display:grid;font-size:13px;gap:7px}.obgyn-field input,.obgyn-field select,.obgyn-field textarea{background:var(--color-white-smoke);border:1px solid var(--color-border);border-radius:8px;color:var(--color-space-indigo);font:inherit;min-height:44px;min-width:0;padding:10px 12px;width:100%}.obgyn-field input[readonly]{color:var(--color-text-muted)}.obgyn-field textarea{min-height:92px;resize:vertical}.obgyn-field input[type=range]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--color-old-gold);padding:0}.obgyn-choice{border:0;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.obgyn-choice legend{color:var(--color-space-indigo);flex:0 0 100%;font-size:13px;margin-bottom:2px}.obgyn-choice label,.obgyn-checkbox{align-items:center;background:var(--color-white-smoke);border-radius:8px;color:var(--color-space-indigo);display:inline-flex;font-size:13px;gap:8px;min-height:40px;padding:8px 10px}.obgyn-choice input,.obgyn-checkbox input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--color-tropical-teal);flex:0 0 auto;height:18px;width:18px}.obgyn-choice label:has(input:checked),.obgyn-checkbox:has(input:checked){background:#fbacbe1f;color:var(--color-space-indigo)}.obgyn-warning{align-items:center;background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);display:flex;font-size:13px;gap:8px;padding:10px 12px}.obgyn-result-card,.obgyn-review-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.obgyn-status-card,.obgyn-review-item{display:grid;gap:5px;padding:12px}.obgyn-status-card strong,.obgyn-review-item span{color:var(--color-text-muted);font-size:12px}.obgyn-status-card span,.obgyn-review-item strong{color:var(--color-space-indigo);font-size:15px;font-weight:500}.obgyn-form-actions{display:flex;gap:10px;justify-content:space-between}.obgyn-form-actions button{align-items:center;background:var(--color-space-indigo);border:0;border-radius:999px;color:var(--color-surface);cursor:pointer;display:inline-flex;font:inherit;gap:7px;height:46px;justify-content:center;min-height:46px;padding:0;width:46px}.obgyn-form-actions button:disabled{cursor:not-allowed;opacity:.5}.composition-page{min-height:70vh;position:relative}.composition-preview{display:grid;filter:blur(4px);gap:24px;opacity:.72;pointer-events:none;-webkit-user-select:none;user-select:none}.composition-section{display:grid;gap:12px}.composition-section p{color:var(--color-tropical-teal);font-size:13px;font-weight:700;margin:0;text-transform:uppercase}.composition-section h1{color:var(--color-space-indigo);font-size:27px;font-weight:600;line-height:1.18;margin:0}.composition-card-grid{display:grid;gap:13px;grid-template-columns:repeat(5,minmax(0,1fr))}.composition-result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;min-height:126px;padding:16px 18px}.composition-result-card span{color:var(--color-text-muted);font-size:13px;font-weight:700;line-height:1.25;text-transform:uppercase}.composition-result-card strong{align-self:center;color:var(--color-space-indigo);font-size:30px;font-weight:700;line-height:1.02}.composition-result-card small{align-self:end;color:var(--color-text-muted);font-size:13px;font-weight:600;line-height:1.35}.composition-coming-soon{align-items:center;background:#ffffffc7;border:1px solid rgb(255 255 255 / 86%);border-radius:8px;box-shadow:0 24px 70px #0000002e;display:grid;gap:8px;left:50%;max-width:min(360px,calc(100% - 32px));padding:26px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:3}.composition-coming-soon strong{color:var(--color-space-indigo);font-size:30px;font-weight:500}.composition-coming-soon span{color:var(--color-text-muted);font-size:14px;line-height:1.5}.cycle-page{display:grid;gap:16px}.cycle-header,.cycle-calendar-card,.cycle-daily-card,.cycle-form-card,.cycle-history-card,.cycle-summary-card{background:#fffffff2;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 12px 30px #0000000f}.cycle-header{align-items:center;display:flex;justify-content:space-between;padding:18px 20px}.cycle-header p{color:var(--color-tropical-teal);font-size:13px;font-weight:500;margin:0 0 4px}.cycle-header h1{color:var(--color-space-indigo);font-size:26px;font-weight:400;line-height:1.15;margin:0}.cycle-header>span,.cycle-summary-card>span{align-items:center;background:#fbacbe38;border-radius:8px;color:var(--color-tropical-teal);display:inline-flex;height:46px;justify-content:center;width:46px}.cycle-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.cycle-summary-card{display:grid;gap:5px;padding:14px}.cycle-summary-card p{color:var(--color-text-muted);font-size:11px;font-weight:500;margin:4px 0 0;text-transform:uppercase}.cycle-summary-card strong{color:var(--color-space-indigo);font-size:18px;font-weight:500}.cycle-summary-card small{color:var(--color-text-muted);font-size:12px;line-height:1.4}.cycle-content-grid,.cycle-calendar-layout{display:grid;gap:14px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.cycle-calendar-card,.cycle-daily-card{display:grid;gap:14px;padding:18px}.cycle-calendar-header{align-items:center;display:flex;justify-content:space-between}.cycle-calendar-header h2{color:var(--color-space-indigo);font-size:20px;font-weight:500;margin:0}.cycle-calendar-header button{align-items:center;background:var(--color-white-smoke);border:0;border-radius:8px;color:var(--color-space-indigo);cursor:pointer;display:inline-flex;height:38px;justify-content:center;width:38px}.cycle-calendar-legend{display:flex;flex-wrap:wrap;gap:8px}.cycle-calendar-legend span{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:12px;gap:6px}.cycle-calendar-legend i{border-radius:999px;display:inline-flex;height:9px;width:9px}.cycle-calendar-legend .is-period{background:var(--color-tropical-teal)}.cycle-calendar-legend .is-predicted{background:var(--color-old-gold)}.cycle-calendar-legend .is-daily-log{background:var(--color-space-indigo)}.cycle-calendar-grid{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.cycle-calendar-grid>strong{color:var(--color-text-muted);font-size:11px;font-weight:500;text-align:center}.cycle-calendar-empty,.cycle-calendar-grid button{aspect-ratio:1;border-radius:8px}.cycle-calendar-grid button{background:var(--color-white-smoke);border:1px solid transparent;color:var(--color-space-indigo);cursor:pointer;font:inherit;font-size:13px;position:relative}.cycle-calendar-grid button.is-period{background:#fbacbe24;color:var(--color-tropical-teal)}.cycle-calendar-grid button.is-predicted{background:#948cf924;color:var(--color-old-gold)}.cycle-calendar-grid button.has-daily-log:after{background:var(--color-space-indigo);border-radius:999px;bottom:6px;content:"";height:5px;left:calc(50% - 2.5px);position:absolute;width:5px}.cycle-calendar-grid button.is-selected{border-color:var(--color-space-indigo);box-shadow:inset 0 0 0 1px var(--color-space-indigo)}.cycle-form-card,.cycle-history-card{display:grid;gap:14px;padding:18px}.cycle-section-title{align-items:center;color:var(--color-tropical-teal);display:flex;gap:9px}.cycle-section-title h2{color:var(--color-space-indigo);font-size:18px;font-weight:500;margin:0}.cycle-form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-daily-card label,.cycle-form-card label,.cycle-notes-field{color:var(--color-space-indigo);display:grid;font-size:13px;gap:7px}.cycle-daily-card input,.cycle-daily-card select,.cycle-daily-card textarea,.cycle-form-card input,.cycle-form-card select,.cycle-form-card textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-white-smoke);border:1px solid var(--color-border);border-radius:8px;color:var(--color-space-indigo);display:block;font:inherit;max-width:100%;min-height:44px;min-width:0;padding:10px 12px;width:100%}.cycle-daily-card input[type=range],.cycle-form-card input[type=range]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--color-old-gold);padding:0}.cycle-daily-card input[type=date],.cycle-form-card input[type=date]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-inline-size:100%}.cycle-daily-card input[type=date]::-webkit-date-and-time-value,.cycle-form-card input[type=date]::-webkit-date-and-time-value{text-align:left}.cycle-daily-card textarea,.cycle-form-card textarea{min-height:94px;resize:vertical}.cycle-symptom-grid{border:0;display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.cycle-symptom-grid legend{color:var(--color-space-indigo);font-size:13px;margin-bottom:7px}.cycle-symptom-grid label{align-items:center;background:var(--color-white-smoke);border-radius:8px;display:flex;gap:8px;min-height:40px;padding:8px 10px}.cycle-symptom-grid input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;accent-color:var(--color-tropical-teal);display:inline-block;flex:0 0 auto;height:18px;min-height:auto;min-width:auto;padding:0;width:18px}.cycle-symptom-grid label span{min-width:0}.cycle-primary-button{align-items:center;background:var(--color-space-indigo);border:0;border-radius:8px;color:var(--color-surface);cursor:pointer;display:inline-flex;font:inherit;font-weight:500;gap:8px;justify-content:center;min-height:48px;padding:10px 14px}.cycle-error{background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);font-size:13px;margin:0;padding:10px 12px}.cycle-status,.cycle-empty-text{color:var(--color-text-muted);font-size:13px;margin:0}.cycle-log-list{display:grid;gap:10px}.cycle-log-list article{background:var(--color-white-smoke);border-radius:8px;padding:13px}.cycle-log-list h3{color:var(--color-space-indigo);font-size:15px;font-weight:500;margin:0}.cycle-log-list p,.cycle-log-list small,.cycle-log-list em{color:var(--color-text-muted);display:block;font-size:13px;font-style:normal;line-height:1.45;margin:4px 0 0}.cycle-log-list em{background:var(--color-surface);border-radius:8px;color:var(--color-space-indigo);margin-top:8px;padding:8px 9px}.cycle-selected-date{background:#948cf924;border-radius:999px;color:var(--color-space-indigo);font-size:13px;justify-self:start;margin:0;padding:7px 11px}.cycle-daily-log-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-dashboard{display:grid;gap:12px}.nutrition-dashboard-status,.nutrition-dashboard-alert{border-radius:8px;font-size:13px;margin:0;padding:10px 12px}.nutrition-dashboard-status{background:var(--color-surface);color:var(--color-text-muted)}.nutrition-dashboard-alert{background:var(--color-danger-soft);color:var(--color-danger)}.nutrition-dashboard-hero,.nutrition-dashboard-stat-card,.nutrition-dashboard-recommendation,.nutrition-dashboard-panel,.nutrition-dashboard-weekly{background:#fffffff2;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 10px 28px #0000000f}.nutrition-dashboard-hero{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:18px}.nutrition-dashboard-hero p{color:var(--color-tropical-teal);font-size:12px;font-weight:500;margin:0;text-transform:uppercase}.nutrition-dashboard-hero h1{color:var(--color-space-indigo);font-size:26px;font-weight:400;line-height:1.14;margin:5px 0 6px}.nutrition-dashboard-hero span{color:var(--color-text-muted);font-size:14px;font-weight:400}.nutrition-dashboard-add{align-items:center;background:var(--color-tropical-teal);border-radius:8px;color:var(--color-surface);display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:500;gap:7px;min-height:42px;padding:0 13px}.nutrition-dashboard-stat-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.nutrition-dashboard-stat-card{display:grid;gap:5px;padding:12px}.nutrition-dashboard-stat-card>span,.nutrition-dashboard-panel-icon{align-items:center;background:#fbacbe1f;border-radius:8px;color:var(--color-tropical-teal);display:inline-flex;height:36px;justify-content:center;width:36px}.nutrition-dashboard-stat-card p{color:var(--color-text-muted);font-size:11px;font-weight:500;margin:2px 0 0;text-transform:uppercase}.nutrition-dashboard-stat-card strong{color:var(--color-space-indigo);font-size:18px;font-weight:500}.nutrition-dashboard-stat-card small{color:var(--color-text-muted);font-size:11px;font-weight:400}.nutrition-dashboard-recommendation,.nutrition-dashboard-weekly{align-items:flex-start;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:16px}.nutrition-dashboard-recommendation>div,.nutrition-dashboard-weekly>div{flex:1;min-width:0}.nutrition-dashboard-recommendation h2,.nutrition-dashboard-panel h2,.nutrition-dashboard-weekly h2{color:var(--color-space-indigo);font-size:18px;font-weight:500;margin:0}.nutrition-dashboard-recommendation p{color:var(--color-text-muted);font-size:13px;font-weight:400;line-height:1.55;margin:5px 0 0}.nutrition-dashboard-soft-block{background:var(--color-white-smoke);border-radius:8px;display:grid;gap:4px;margin-top:12px;padding:11px 12px;text-align:left}.nutrition-dashboard-soft-block strong{color:var(--color-text-muted);font-size:11px;font-weight:500;text-transform:uppercase}.nutrition-dashboard-soft-block span{color:var(--color-space-indigo);font-size:13px;font-weight:500}.nutrition-dashboard-two-column{display:grid;gap:12px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.nutrition-dashboard-panel{padding:16px}.nutrition-dashboard-meal-grid,.nutrition-dashboard-insights,.nutrition-dashboard-progress-list{display:grid;gap:8px;margin-top:12px}.nutrition-dashboard-meal-grid div,.nutrition-dashboard-meal-idea,.nutrition-dashboard-insights p,.nutrition-dashboard-progress-list div{background:var(--color-white-smoke);border-radius:8px}.nutrition-dashboard-meal-grid div,.nutrition-dashboard-meal-idea,.nutrition-dashboard-progress-list div{align-items:center;display:flex;justify-content:space-between;padding:10px 12px}.nutrition-dashboard-meal-idea{grid-column:1 / -1}.nutrition-dashboard-meal-grid div>span:first-child,.nutrition-dashboard-meal-idea span{display:grid;gap:2px}.nutrition-dashboard-meal-grid strong,.nutrition-dashboard-meal-idea strong,.nutrition-dashboard-progress-list span{color:var(--color-space-indigo);font-size:13px;font-weight:500}.nutrition-dashboard-meal-grid small,.nutrition-dashboard-meal-idea small{color:var(--color-text-muted);font-size:12px;font-weight:400}.nutrition-dashboard-meal-grid small.is-logged{color:var(--color-tropical-teal)}.nutrition-dashboard-meal-grid em,.nutrition-dashboard-meal-idea em,.nutrition-dashboard-add-chip{background:var(--color-surface);border:0;border-radius:999px;color:var(--color-old-gold);cursor:pointer;font-size:12px;font-style:normal;font-weight:500;padding:5px 9px}.nutrition-dashboard-add-menu-wrap{display:inline-flex;position:relative}.nutrition-dashboard-add-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 18px 38px #00000029;display:grid;gap:2px;min-width:154px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:10}.nutrition-dashboard-add-menu:before{background:var(--color-surface);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);content:"";height:10px;position:absolute;right:17px;top:-6px;transform:rotate(45deg);width:10px}.nutrition-dashboard-add-menu button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--color-space-indigo);cursor:pointer;display:flex;font-size:13px;gap:8px;justify-content:flex-start;min-height:34px;padding:7px 9px;text-align:left;white-space:nowrap}.nutrition-dashboard-add-menu button:hover,.nutrition-dashboard-add-menu button:focus-visible{background:#948cf924;color:var(--color-old-gold);outline:0}.nutrition-dashboard-insights p{color:var(--color-space-indigo);font-size:13px;font-weight:400;line-height:1.5;margin:0;padding:10px 12px}.nutrition-dashboard-progress-list strong{color:var(--color-tropical-teal);font-size:13px;font-weight:500}.nutrition-dashboard-weekly a{align-items:center;color:var(--color-tropical-teal);display:inline-flex;font-size:13px;font-weight:500;gap:4px;margin-top:12px}.food-scan-page{display:grid;gap:16px;margin:0 auto;max-width:760px}.food-scan-toolbar{display:flex;justify-content:flex-end}.food-scan-header{align-items:center;display:flex;gap:14px;justify-content:space-between}.food-scan-header h1,.food-scan-card h1{color:var(--color-space-indigo);font-size:30px;font-weight:400;line-height:1.1;margin:0}.food-scan-header p,.food-scan-card p,.food-scan-modal p{color:var(--color-text-muted);font-size:15px;line-height:1.55;margin:4px 0 0}.food-scan-header-icon,.food-scan-icon-button,.food-scan-secondary-icon-button{align-items:center;background:#fbacbe1f;border:0;border-radius:8px;color:var(--color-tropical-teal);cursor:pointer;display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}.food-scan-card,.food-scan-actions-card{background:#fffffff2;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 12px 30px #0000000f;display:grid;gap:14px;padding:18px}.food-scan-alert{background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);font-size:13px;margin:0;padding:10px 12px}.food-scan-form label,.food-scan-modal label{color:var(--color-space-indigo);display:grid;font-size:13px;gap:7px}.food-scan-form select,.food-scan-form textarea,.food-scan-modal input{background:var(--color-white-smoke);border:1px solid var(--color-border);border-radius:8px;color:var(--color-space-indigo);font:inherit;min-height:44px;padding:10px 12px}.food-scan-form textarea{min-height:150px;resize:vertical}.food-scan-preview-card img{aspect-ratio:4 / 3;background:var(--color-white-smoke);border-radius:8px;object-fit:cover;width:100%}.food-scan-primary-button,.food-scan-secondary-button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font:inherit;font-weight:500;gap:8px;justify-content:center;min-height:48px;padding:10px 14px}.food-scan-primary-button{background:var(--color-space-indigo);color:var(--color-surface)}.food-scan-primary-button:disabled{cursor:not-allowed;opacity:.52}.food-scan-secondary-button{background:#948cf924;color:var(--color-space-indigo)}.food-scan-camera-frame{background:transparent;border-radius:8px;box-shadow:0 24px 70px #0000002e;overflow:hidden;padding:0}.food-scan-camera-frame>div{aspect-ratio:4 / 3;background:#101820;border-radius:8px;max-height:68vh;overflow:hidden;position:relative}.food-scan-camera-frame video{height:100%;object-fit:cover;width:100%}.food-scan-camera-frame span{align-items:center;background:#101820cc;color:var(--color-surface);display:flex;font-size:14px;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.food-scan-camera-actions{display:grid;gap:10px;grid-template-columns:1fr auto}.food-scan-result-title{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.food-scan-result-title h2,.food-scan-card h2,.food-scan-modal h2{color:var(--color-space-indigo);font-size:18px;font-weight:500;margin:0}.food-scan-result-title small{background:var(--color-white-smoke);border-radius:8px;color:var(--color-text-muted);display:inline-flex;font-size:12px;margin-top:9px;padding:7px 9px}.food-scan-result-title em{background:#948cf924;border-radius:999px;color:var(--color-old-gold);font-size:12px;font-style:normal;font-weight:500;padding:7px 12px}.food-scan-food-list{display:grid;gap:10px}.food-scan-food-list article{align-items:flex-start;background:var(--color-white-smoke);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:14px}.food-scan-food-list h3{color:var(--color-space-indigo);font-size:15px;font-weight:500;margin:0}.food-scan-food-list p{color:var(--color-tropical-teal);font-size:12px;font-weight:500;margin:4px 0;text-transform:uppercase}.food-scan-food-list small{color:var(--color-text-muted);font-size:13px}.food-scan-food-list article>span{display:flex;gap:6px}.food-scan-food-list button,.food-scan-modal header button{align-items:center;background:var(--color-surface);border:0;border-radius:999px;color:var(--color-tropical-teal);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.food-scan-food-list button:last-child{color:var(--color-danger)}.food-scan-metric-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.food-scan-metric-grid div{background:var(--color-white-smoke);border-radius:8px;display:grid;gap:3px;padding:10px 12px}.food-scan-metric-grid span{color:var(--color-text-muted);font-size:12px}.food-scan-metric-grid strong{color:var(--color-space-indigo);font-size:15px;font-weight:500}.food-scan-modal-backdrop{align-items:end;background:#00000059;display:grid;top:0;right:0;bottom:0;left:0;position:fixed;z-index:50}.food-scan-modal{background:var(--color-surface);border-radius:18px 18px 0 0;display:grid;gap:14px;padding:18px}.food-scan-modal header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.food-scan-modal>div{display:grid;gap:10px;grid-template-columns:1fr 1fr}.food-scan-confirmation{justify-items:center;margin-top:14vh;text-align:center}.food-scan-confirmation>span{align-items:center;background:#fbacbe1f;border-radius:999px;color:var(--color-tropical-teal);display:inline-flex;height:72px;justify-content:center;width:72px}.trainer-page{display:grid;gap:16px}.trainer-hero,.trainer-safety-card,.trainer-exercise-card,.trainer-result-card,.trainer-session-shell{background:#fffffff2;border:1px solid rgb(255 255 255 / 82%);border-radius:8px;box-shadow:0 12px 30px #0000000f}.trainer-hero{align-items:center;display:flex;gap:18px;justify-content:space-between;padding:18px 20px}.trainer-hero p,.trainer-session-shell header p{color:var(--color-tropical-teal);font-size:13px;font-weight:500;margin:0 0 4px;text-transform:capitalize}.trainer-hero h1,.trainer-session-shell header h2{color:var(--color-space-indigo);font-size:26px;font-weight:400;line-height:1.15;margin:0}.trainer-hero span,.trainer-session-shell header span{color:var(--color-text-muted);display:block;font-size:14px;line-height:1.45;margin-top:7px}.trainer-hero>svg{background:#fbacbe1f;border-radius:8px;color:var(--color-tropical-teal);flex:0 0 auto;height:54px;padding:10px;width:54px}.trainer-safety-card,.trainer-result-card{align-items:center;display:flex;gap:12px;padding:14px 16px}.trainer-safety-card span,.trainer-result-card>svg{align-items:center;background:#948cf926;border-radius:8px;color:var(--color-old-gold);display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.trainer-safety-card p{color:var(--color-text-muted);font-size:13px;line-height:1.55;margin:0}.trainer-alert{background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);font-size:13px;margin:0;padding:10px 12px}.trainer-exercise-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.trainer-exercise-card{align-items:start;color:var(--color-space-indigo);cursor:pointer;display:grid;gap:12px;min-height:208px;padding:18px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.trainer-exercise-card:hover,.trainer-exercise-card:focus-visible{border-color:#fbacbe57;box-shadow:0 20px 42px #0000001a;outline:0;transform:translateY(-2px)}.trainer-exercise-icon{align-items:center;border-radius:8px;display:inline-flex;height:52px;justify-content:center;width:52px}.trainer-exercise-icon.is-assessment{background:#fbacbe1f;color:var(--color-tropical-teal)}.trainer-exercise-icon.is-challenge{background:#948cf926;color:var(--color-old-gold)}.trainer-exercise-card strong{display:block;font-size:19px;font-weight:500;line-height:1.2;margin-bottom:7px}.trainer-exercise-card small{color:var(--color-text-muted);display:block;font-size:13px;line-height:1.45}.trainer-exercise-card em{background:#fbacbe1a;border-radius:999px;color:var(--color-tropical-teal);font-size:12px;font-style:normal;font-weight:500;justify-self:start;padding:6px 10px;text-transform:capitalize}.trainer-exercise-card i{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:12px;font-style:normal;gap:6px}.trainer-result-card strong{color:var(--color-space-indigo);display:block;font-size:14px;font-weight:500}.trainer-result-card span{color:var(--color-text-muted);display:block;font-size:13px;margin-top:3px;text-transform:capitalize}.trainer-session-modal{align-items:center;background:#0000006b;display:grid;top:0;right:0;bottom:0;left:0;padding:18px;position:fixed;z-index:60}.trainer-session-shell{display:grid;gap:14px;margin:0 auto;max-height:calc(100vh - 36px);max-width:1120px;overflow:hidden;padding:14px;width:100%}.trainer-session-shell header{align-items:start;display:flex;gap:14px;justify-content:space-between}.trainer-session-shell header button{align-items:center;background:var(--color-white-smoke);border:0;border-radius:8px;color:var(--color-space-indigo);cursor:pointer;display:inline-flex;flex:0 0 auto;height:42px;justify-content:center;width:42px}.trainer-frame-wrap{background:#101820;border-radius:8px;min-height:min(68vh,680px);overflow:hidden;position:relative}.trainer-frame{border:0;display:block;height:min(68vh,680px);width:100%}.trainer-frame-loading{align-items:center;color:var(--color-surface);display:flex;font-size:15px;gap:10px;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.trainer-frame-loading svg{animation:trainer-spin .9s linear infinite}@keyframes trainer-spin{to{transform:rotate(360deg)}}.page-stack{display:grid;gap:24px}.section-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.section-card,.form-panel,.empty-state,.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:20px}.section-card{display:grid;gap:8px}.field,.field-group{border:0;display:grid;gap:8px;margin:0;padding:0}.form-panel{display:grid;gap:18px}.input{border:1px solid var(--color-platinum);border-radius:6px;min-height:42px;padding:8px 12px}.input:focus{border-color:var(--color-tropical-teal);box-shadow:var(--shadow-focus);outline:0}.field-error{color:var(--color-danger)}.choice{align-items:center;display:flex;gap:8px}.button{border:0;border-radius:6px;cursor:pointer;min-height:40px;padding:8px 14px}.button-primary,.button-secondary{background:var(--color-space-indigo);color:var(--color-surface)}.button-ghost{background:transparent;color:var(--color-space-indigo)}.stepper{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(32px,1fr))}.step{background:var(--color-platinum);border-radius:999px;display:block;height:8px}.step.is-complete{background:var(--color-tropical-teal)}.form-progress{display:grid;gap:8px}.form-progress div{align-items:baseline;display:flex;gap:8px}.form-progress progress{height:10px;width:100%}.autosave{border-radius:999px;background:var(--color-platinum);padding:6px 10px}.autosave-error{background:var(--color-danger-soft);color:var(--color-danger)}.modal-backdrop{background:#00000059;top:0;right:0;bottom:0;left:0;position:fixed}.modal{margin:15vh auto;max-width:520px}.tabs{display:flex;gap:8px}.tab{border:1px solid var(--color-platinum);border-radius:6px;background:var(--color-surface);min-height:36px;padding:6px 12px}.tab[aria-selected=true]{background:var(--color-old-gold);border-color:var(--color-old-gold);color:var(--color-space-indigo)}.auth-page{align-items:center;background:var(--color-platinum);display:flex;justify-content:center;min-height:100vh;padding:54px 64px}.auth-card{align-items:center;background:#ffffffd1;border-radius:10px;box-shadow:0 26px 56px #00000014;display:grid;gap:56px;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);min-height:760px;overflow:hidden;padding:58px 88px 58px 58px;width:min(1414px,100%)}.auth-form-column{align-self:center;display:grid;max-width:586px}.auth-kicker{color:var(--color-space-indigo);font-size:14px;margin:0 0 28px}.auth-kicker span,.auth-switch-link{color:var(--color-tropical-teal)}.auth-form-column h1{color:var(--color-space-indigo);font-size:54px;font-weight:400;letter-spacing:0;line-height:1.04;margin:0 0 22px}.auth-copy{color:#000000a8;font-size:17px;line-height:1.62;margin:0 0 38px;max-width:590px}.auth-form{display:grid;gap:22px}.auth-error{background:var(--color-danger-soft);border-radius:8px;color:var(--color-danger);font-size:13px;line-height:1.45;margin:4px 0 -22px;padding:10px 12px}.auth-form .field{color:var(--color-space-indigo);font-size:14px;position:relative}.auth-form .input{background:transparent;border:0;border-bottom:1px solid rgb(0 0 0 / 14%);border-radius:0;color:var(--color-space-indigo);font-size:15px;height:54px;padding:0 36px 0 0}.auth-form .input:focus{border-color:var(--color-tropical-teal);box-shadow:none}.auth-form select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-space-indigo) 50%),linear-gradient(135deg,var(--color-space-indigo) 50%,transparent 50%);background-position:calc(100% - 14px) 24px,calc(100% - 8px) 24px;background-repeat:no-repeat;background-size:6px 6px}.password-field{grid-template-columns:1fr auto}.password-field input{grid-column:1 / -1;padding-right:50px}.password-toggle{align-items:center;background:transparent;border:0;color:#0000006b;cursor:pointer;display:inline-flex;height:42px;justify-content:center;position:absolute;right:10px;top:30px;width:42px}.auth-submit{background:var(--color-tropical-teal);border-color:var(--color-tropical-teal);border-radius:6px;font-size:16px;height:54px;margin-top:46px;width:100%}.auth-switch-link{font-size:13px;justify-self:center;margin-top:18px}.social-login{display:grid;gap:16px;margin-top:24px}.auth-divider{align-items:center;color:#0000006b;display:flex;font-size:12px;gap:14px;text-align:center}.auth-divider:before,.auth-divider:after{background:#0000001f;content:"";flex:1;height:1px}.auth-divider span{white-space:nowrap}.social-login-buttons{display:grid;gap:10px;justify-items:center}.google-login-button,.google-login-native{display:flex;justify-content:center;min-height:44px;overflow:hidden;width:100%}.google-login-button.is-disabled,.google-login-native.is-disabled{opacity:.58;pointer-events:none}.google-login-fallback{align-items:center;background:#fbacbe4d;border:1px solid rgb(220 30 78 / 34%);border-radius:4px;color:var(--color-space-indigo);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:10px;height:44px;justify-content:center;max-width:320px;width:100%}.google-login-mark{color:var(--color-tropical-teal);font-family:Arial,sans-serif;font-size:19px;font-weight:700}.facebook-login-button{align-items:center;background:var(--color-old-gold);border:1px solid var(--color-old-gold);border-radius:4px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:10px;height:44px;justify-content:center;max-width:320px;width:100%}.facebook-login-button:disabled{cursor:wait;opacity:.58}.auth-visual-column{align-items:center;display:grid;justify-items:center;min-height:640px;position:relative}.auth-logo-visual{background:#fbacbe;border:6px solid rgb(255 255 255 / 74%);border-radius:50%;box-shadow:0 28px 70px #dc1e4e2e;display:block;height:min(430px,32vw);min-height:270px;min-width:270px;object-fit:cover;width:min(430px,32vw)}@media(max-width:980px){.auth-page{padding:24px}.auth-card{gap:24px;grid-template-columns:1fr;padding:40px 28px}.auth-visual-column{min-height:360px;order:-1}.auth-form-column h1{font-size:44px}.auth-submit{margin-top:18px}}@media(max-width:560px){.auth-page{height:100svh;min-height:100svh;overflow:hidden;padding:0}.auth-card{align-content:center;border-radius:0;gap:8px;height:100svh;min-height:0;overflow:hidden;padding:max(10px,env(safe-area-inset-top)) 18px max(10px,env(safe-area-inset-bottom))}.auth-form-column{margin:0 auto;max-width:420px;width:100%}.auth-visual-column{min-height:72px}.auth-logo-visual{border-width:3px;box-shadow:0 10px 24px #dc1e4e29;height:72px;min-height:72px;min-width:72px;width:72px}.auth-kicker{font-size:11px;margin:0 0 5px}.auth-form-column h1{font-size:28px;line-height:1;margin:0 0 8px}.auth-copy{display:none}.auth-form{gap:8px}.auth-form .field{font-size:11px}.auth-form .input{font-size:14px;height:38px}.password-toggle{height:34px;right:2px;top:18px;width:34px}.auth-error{font-size:11px;margin:0;padding:6px 8px}.auth-submit{font-size:14px;height:40px;margin-top:4px}.social-login{gap:7px;margin-top:8px}.auth-divider{font-size:10px;gap:8px}.social-login-buttons{gap:6px}.google-login-button,.google-login-fallback,.facebook-login-button{height:38px;min-height:38px}.auth-switch-link{font-size:11px;margin-top:7px}}@media(max-width:560px)and (max-height:700px){.auth-card{gap:4px;padding-bottom:6px;padding-top:6px}.auth-visual-column{min-height:56px}.auth-logo-visual{height:108px;min-height:108px;min-width:108px;width:108px}.auth-kicker{display:none}.auth-form-column h1{font-size:24px;margin-bottom:5px}.auth-form .input{height:34px}.auth-submit,.google-login-button,.google-login-fallback,.facebook-login-button{height:34px;min-height:34px}}@media(max-width:1040px){.app-shell{padding:18px 16px 96px}.app-nav-tabs{background:var(--color-surface);border-color:#b0aad8db;border-radius:18px 18px 0 0;border-width:1px 0 0;bottom:0;box-shadow:0 -16px 36px #0000001f;gap:0;left:0;margin:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:20}.app-nav-tab{gap:4px;grid-template-rows:22px 28px;min-height:62px;padding:6px 4px}.app-nav-tab span{font-size:11px;line-height:1.12}.home-action-copy span{display:none}.screening-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-welcome{gap:3px;padding:14px 16px}.home-welcome p{font-size:12px}.home-welcome h1{font-size:21px;gap:8px}.home-welcome h1 span{font-size:11px;padding:4px 9px}.nutrition-dashboard-hero{padding:14px 16px}.nutrition-dashboard-hero h1{font-size:21px}.nutrition-dashboard-add span{display:none}.nutrition-dashboard-add{height:42px;justify-content:center;padding:0;width:42px}.nutrition-dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-dashboard-two-column{grid-template-columns:1fr}.composition-card-grid,.trainer-exercise-grid,.cycle-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-content-grid,.cycle-calendar-layout{grid-template-columns:1fr}}@media(max-width:720px){.home-action-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-action-card{flex-direction:column;gap:8px;min-height:92px;padding:12px}.home-action-icon{height:40px;width:40px}.home-action-icon svg{height:24px;width:24px}.home-action-copy strong{font-size:14px}.screening-page{gap:12px}.screening-page-header{padding:14px 16px}.screening-page-header h1{font-size:21px}.screening-page-header>span{height:42px;width:42px}.screening-section-grid{gap:12px}.screening-section-card{gap:9px;min-height:122px;padding:12px}.screening-section-icon{height:42px;width:42px}.screening-section-icon svg{height:23px;width:23px}.screening-section-copy strong{font-size:14px}.screening-section-copy small{display:none}.obgyn-form-page{gap:12px}.obgyn-form-header,.obgyn-form-card{padding:14px}.obgyn-form-header h1{font-size:20px}.obgyn-stepper{gap:5px;grid-template-columns:repeat(6,minmax(0,1fr))}.obgyn-field-grid,.obgyn-result-card,.obgyn-review-grid{grid-template-columns:1fr}.obgyn-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.obgyn-choice legend{grid-column:1 / -1}.composition-preview{gap:18px}.composition-section h1{font-size:21px}.composition-card-grid{gap:10px}.composition-result-card{min-height:108px;padding:12px}.composition-result-card span,.composition-result-card small{font-size:11px}.composition-result-card strong{font-size:22px}.composition-coming-soon{padding:22px}.composition-coming-soon strong{font-size:25px}.trainer-page{gap:12px}.trainer-hero{padding:14px 16px}.trainer-hero h1,.trainer-session-shell header h2{font-size:21px}.trainer-hero span{font-size:13px}.trainer-hero>svg{height:42px;padding:8px;width:42px}.trainer-safety-card{align-items:flex-start;padding:12px}.trainer-exercise-grid{gap:12px}.trainer-exercise-card{gap:9px;min-height:158px;padding:12px}.trainer-exercise-icon{height:42px;width:42px}.trainer-exercise-card strong{font-size:14px}.trainer-exercise-card small{display:none}.trainer-session-modal{align-items:stretch;padding:0}.trainer-session-shell{border-radius:0;max-height:100vh;padding:12px}.trainer-frame,.trainer-frame-wrap{height:calc(100vh - 144px);min-height:420px}.cycle-page{gap:12px}.cycle-header{padding:14px 16px}.cycle-header h1{font-size:21px}.cycle-header>span{height:42px;width:42px}.cycle-summary-card{padding:12px}.cycle-summary-card>span{height:36px;width:36px}.cycle-summary-card strong{font-size:15px}.cycle-form-card,.cycle-history-card,.cycle-calendar-card,.cycle-daily-card{padding:14px}.cycle-form-row,.cycle-symptom-grid{grid-template-columns:1fr}.cycle-calendar-grid{gap:5px}.cycle-calendar-grid button{font-size:12px}.cycle-daily-log-list{grid-template-columns:1fr}.nutrition-dashboard{gap:10px}.nutrition-dashboard-stat-card{padding:10px}.nutrition-dashboard-stat-card>span,.nutrition-dashboard-panel-icon{height:34px;width:34px}.nutrition-dashboard-stat-card strong{font-size:15px}.nutrition-dashboard-recommendation,.nutrition-dashboard-panel,.nutrition-dashboard-weekly{padding:14px}.nutrition-dashboard-recommendation h2,.nutrition-dashboard-panel h2,.nutrition-dashboard-weekly h2{font-size:16px}.food-scan-page{gap:12px}.food-scan-header h1,.food-scan-card h1{font-size:27px}.food-scan-card,.food-scan-actions-card{padding:16px}.food-scan-food-list article{padding:12px}}:root{--cream: #faf5ee;--cream-2: #f3ead9;--blush: #f2d9ce;--blush-2: #e8c3b3;--terracotta: #c4634a;--plum: #3d1f2f;--plum-2: #2a1521;--ink-soft: #6b4f5c;--sage: #8a9a7b;--gold: #c9924a;--line: rgba(61, 31, 47, .1);--serif: "Instrument Serif", Georgia, serif;--sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color-scheme:light}body{background:var(--cream);color:var(--plum);font-family:var(--sans)}button{border:0}.m2m-app{min-height:100vh;min-height:100dvh;background:radial-gradient(circle at top,var(--blush) 0,var(--cream) 38%,var(--cream-2) 100%);display:grid;place-items:center;overflow:hidden}.phone-shell{width:min(100vw,430px);height:100vh;height:100dvh;background:var(--cream);box-shadow:0 28px 80px #3d1f2f2e;position:relative;overflow:hidden}.m2m-screen{height:100vh;height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 22px 104px;overflow-y:auto;overscroll-behavior-y:auto;position:relative;scrollbar-width:none;-ms-overflow-style:none}.m2m-screen::-webkit-scrollbar{display:none}.onboarding-screen{padding:calc(10px + env(safe-area-inset-top,0px)) 26px 150px}.onboarding-screen h1{font-size:36px;line-height:1.05;margin-top:10px}.onboarding-screen .lead{margin-top:14px;max-width:300px}.onboarding-footer{bottom:50px;left:0;padding:0 26px;position:absolute;right:0;z-index:12}.onboarding-footer.fade{background:linear-gradient(to top,var(--cream) 72%,rgba(250,245,238,0));padding-top:32px}.onboarding-footer .primary{margin-top:0}.onboarding-skip{background:transparent;color:var(--ink-soft);display:block;font:700 13px var(--sans);margin:14px auto 0;padding:8px 14px}.micro{color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.01em;margin:0}h1{font-size:38px;margin-top:12px}h1 em{color:var(--terracotta)}.lead,.hint{color:var(--ink-soft);font-size:13.5px;line-height:1.55}.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.welcome-screen .stage-grid{margin-top:26px}.stage-card,.option-row,.privacy-row,.insight-card,.settings-list button,.tile-grid button{background:#ffffffad;border:1px solid var(--line);border-radius:18px;color:var(--plum);text-align:left}.stage-card{min-height:98px;padding:14px 12px;position:relative}.stage-card.selected,.option-row.selected{background:var(--plum);color:var(--cream)}.stage-icon{display:block;font-size:22px;margin-bottom:10px}.stage-card strong,.option-row strong,.privacy-row strong{display:block;font-size:13px}.stage-card small,.option-row small,.privacy-row small{display:block;font-size:11px;opacity:.72}.stage-check{position:absolute;right:12px;top:12px}.primary{width:100%;min-height:52px;background:var(--plum);color:var(--cream);border-radius:999px;font-weight:700;margin-top:16px}.dots{display:flex;justify-content:center;gap:6px;margin:18px 0 4px}.dots i{width:6px;height:6px;background:#3d1f2f38;border-radius:999px}.dots .active{width:22px;background:var(--plum)}.cycle-setup-screen .calendar-card{margin-top:26px;padding:16px}.cycle-setup-screen .month-row strong{font-family:var(--serif);font-size:18px;font-weight:400}.cycle-setup-screen .month-row button{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:10px;color:var(--plum);display:inline-flex;height:34px;justify-content:center;width:34px}.cycle-setup-screen .day-grid{gap:0}.cycle-setup-screen .day{border-radius:999px}.cycle-setup-screen .day.empty{aspect-ratio:1}.cycle-setup-screen .day.selected{border-radius:0;font-weight:700}.cycle-setup-screen .day.range-start{border-radius:999px 0 0 999px}.cycle-setup-screen .day.range-end{border-radius:0 999px 999px 0}.cycle-setup-screen .metric-card{min-height:70px}.cycle-setup-screen .metric-card>div{align-items:center;display:flex;gap:10px;justify-content:space-between}.cycle-setup-screen .metric-card button{align-items:center;display:inline-flex;justify-content:center}.cycle-setup-screen .metric-card strong{display:block;font-family:var(--serif);font-size:24px;font-weight:400;margin-top:5px}.cycle-setup-screen .hint{margin:14px 0 0;text-align:center}.cycle-setup-screen .cycle-skip{margin:6px auto 0}.calendar-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;margin-top:22px}.calendar-card.wide{margin-top:16px}.month-row,.weekdays,.metric-row,.topbar,.backbar{display:flex;align-items:center;justify-content:space-between}.weekdays,.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px;text-align:center}.weekdays{color:var(--ink-soft);font-size:11px;font-weight:700}.day{aspect-ratio:1;background:transparent;border-radius:999px;color:var(--plum);font-size:12px;position:relative}.day.outside-month{color:#3d1f2f47}.day:disabled{cursor:default}.day.selected{background:var(--terracotta);color:#fff}.day.today{outline:2px solid var(--plum)}.metric-row{gap:12px;margin-top:14px}.metric-card{flex:1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.metric-card span{color:var(--ink-soft);font-size:11px}.metric-card div{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.metric-card button{width:28px;height:28px;border-radius:999px;background:var(--cream-2);color:var(--plum)}.option-list{display:grid;gap:9px;margin-top:22px}.personalize-screen{padding-left:22px;padding-right:22px}.personalize-screen .option-list,.privacy-screen .option-list{grid-template-columns:1fr}.personalize-screen .option-list{gap:8px;margin-top:18px}.personalize-screen .option-row{border-radius:14px;min-height:58px;padding:12px 14px}.personalize-screen .box{width:22px;height:22px;border-radius:6px}.option-row,.privacy-row{display:flex;align-items:center;gap:12px;padding:13px}.privacy-screen .lead strong{color:var(--plum)}.privacy-screen .privacy-row{align-items:flex-start;background:#ffffffb3;border-radius:16px;gap:10px;min-height:70px;padding:14px}.privacy-screen .privacy-row>svg{background:var(--blush);border-radius:10px;color:var(--terracotta);flex:0 0 auto;height:18px;padding:7px;width:18px}.privacy-screen .privacy-row span{padding-top:1px}.privacy-screen .privacy-row strong{display:inline;font-size:14px}.privacy-screen .privacy-row small{font-size:11.5px;margin-top:4px}.privacy-screen .privacy-row b{background:var(--sage);border-radius:4px;color:var(--cream);display:inline-block;font-size:9.5px;margin-left:6px;padding:2px 6px}.privacy-screen .privacy-row b:empty{display:none}.cycle-setup-screen .metric-card span{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.privacy-screen .hint{font-style:italic;margin-top:24px;text-align:center}.privacy-screen .hint span{color:var(--terracotta);text-decoration:underline}.option-row.muted{opacity:.48}.box{width:24px;height:24px;border:1px solid currentColor;border-radius:7px;display:grid;place-items:center;flex:0 0 auto}.privacy-row b{color:var(--sage);font-size:10px}.privacy-row span{flex:1}.toggle{width:42px;height:24px;background:var(--cream-2);border-radius:999px;position:relative}.toggle:after{content:"";width:20px;height:20px;background:#fff;border-radius:999px;position:absolute;left:2px;top:2px;box-shadow:0 2px 8px #3d1f2f2e;transition:.18s}.toggle.on{background:var(--plum)}.toggle.on:after{transform:translate(18px)}.topbar{margin-bottom:14px}.topbar small{color:var(--ink-soft);font-size:12px}.topbar h2{font-size:28px}.topbar button,.backbar button{width:40px;height:40px;border-radius:999px;background:#fff;color:var(--plum)}.phase-hub{width:220px;height:220px;margin:18px auto;position:relative;display:grid;place-items:center}.phase-hub.small{width:190px;height:190px}.phase-hub svg{position:absolute;top:0;right:0;bottom:0;left:0;fill:none;stroke-width:12}.phase-track{stroke:#3d1f2f14}.phase-arc{stroke-linecap:round}.phase-arc.menstrual{stroke:var(--terracotta)}.phase-arc.follicular{stroke:#e5b894}.phase-arc.ovulation{stroke:var(--gold)}.phase-arc.luteal{stroke:#8a6b7e}.phase-pointer{fill:var(--plum);stroke:var(--cream);stroke-width:4}.phase-center{width:152px;height:152px;background:#fff;border-radius:999px;box-shadow:0 18px 36px #3d1f2f1a;display:grid;place-content:center;text-align:center}.phase-center span{color:var(--terracotta);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.phase-center strong{font-family:var(--serif);font-size:42px;font-weight:400}.phase-center small{color:var(--ink-soft)}.phase-center b{background:var(--cream-2);border-radius:999px;color:var(--terracotta);font-size:10px;margin:8px auto 0;padding:5px 9px;width:max-content}.orbital-wrap{height:360px;margin:4px auto 8px;max-width:360px;position:relative}.orbital-wrap .phase-hub{left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.orbital-action{background:transparent;color:var(--plum);display:grid;gap:5px;justify-items:center;left:50%;position:absolute;top:50%;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y)))}.orbital-action span{align-items:center;background:var(--cream);border:1px solid rgba(61,31,47,.12);border-radius:999px;box-shadow:0 4px 12px #3d1f2f14;display:inline-flex;height:56px;justify-content:center;width:56px}.orbital-action small{color:var(--ink-soft);font-size:10px;font-weight:700}.orbit-actions,.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.orbit-actions button{background:#fff;color:var(--plum);border:1px solid var(--line);border-radius:18px;min-height:74px;display:grid;place-items:center;gap:4px;box-shadow:0 10px 22px #3d1f2f0f}.orbit-actions span,.bottom-nav span{font-size:10px}.persona-note{color:var(--ink-soft);font-size:12px;line-height:1.5}.clinical-card,.plum-card,.profile-card,.article-hero,.prediction-strip{border-radius:18px;padding:16px;margin-top:14px}.clinical-card{background:#fff;border:1px solid var(--line)}.clinical-card span{color:var(--terracotta);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.clinical-card strong,.plum-card strong,.insight-card strong{display:block;font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.05;margin-top:6px}.clinical-card p,.plum-card p{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.clinical-card div{display:flex;gap:6px}.clinical-card b,.prediction-strip span{background:var(--cream-2);border-radius:999px;color:var(--terracotta);font-size:10px;padding:5px 8px}.faq-card{background:#ffffffbd;border:1px solid var(--line);border-radius:18px;display:grid;gap:12px;margin-top:14px;padding:18px}.faq-card-head{align-items:center;display:flex;justify-content:space-between}.faq-card-head small,.faq-disclaimer{color:var(--ink-soft);font-size:10.5px}.faq-single{background:#faf5eed1;border:1px solid var(--line);border-radius:14px;display:grid;gap:10px;padding:15px}.faq-single strong{color:var(--plum);display:block;font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.06}.faq-single p{color:var(--ink-soft);font-size:12.8px;line-height:1.55;margin:0}.faq-next{align-items:center;background:transparent;color:var(--terracotta);display:inline-flex;font-size:12px;font-weight:900;gap:4px;justify-self:start;padding:0}.nudge,.plum-card{background:var(--plum);color:var(--cream)}.nudge{width:100%;border-radius:18px;padding:16px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px}.plum-card p{color:#faf5eec7}.soft-home{background:linear-gradient(180deg,var(--cream),var(--blush))}.teen-home{background:linear-gradient(180deg,var(--cream) 0%,var(--blush) 100%);padding:calc(10px + env(safe-area-inset-top,0px)) 18px 112px}.teen-header{padding:0 4px}.teen-header small{color:var(--ink-soft);font-size:12px}.teen-header h1{color:var(--plum);font-family:var(--serif);font-size:24px;line-height:1;margin-top:4px}.teen-header h1 span{font-family:var(--sans);font-size:18px}.teen-home .phase-hub.small{height:180px;margin:16px auto 18px;width:180px}.teen-home .phase-hub.small svg{stroke-width:11}.teen-home .phase-center{background:transparent;box-shadow:none;height:126px;width:126px}.teen-home .phase-center span{color:#8a6b7e}.teen-home .phase-center strong{font-size:32px}.teen-home .phase-center small{font-size:11px;font-style:italic}.teen-home .phase-center b{background:#ffffffb8;color:var(--plum);font-size:10px;margin-top:8px}.teen-normal-card{background:var(--plum);border-radius:18px;color:var(--cream);margin-top:8px;padding:16px}.teen-normal-card .micro{color:#e5b894}.teen-normal-card strong{display:block;font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.2;margin-top:6px}.teen-normal-card p{color:#faf5eeb3;font-size:12px;line-height:1.45;margin:8px 0 0}.teen-quick-log{margin-top:14px}.teen-quick-log .micro{color:var(--terracotta);margin-bottom:8px}.teen-quick-log>div{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.teen-quick-log button{align-items:center;background:#ffffffb3;border:1px solid var(--line);border-radius:14px;color:var(--plum);display:flex;flex-direction:column;gap:7px;justify-content:center;min-height:58px;padding:10px 4px}.teen-quick-log button span{font-size:11px;font-weight:500}.teen-learn-card{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;color:var(--plum);display:grid;gap:12px;grid-template-columns:38px 1fr auto;margin-top:18px;min-height:56px;padding:10px 12px;text-align:left;width:100%}.teen-learn-card>span{align-items:center;background:var(--blush);border-radius:10px;color:var(--terracotta);display:flex;height:38px;justify-content:center;width:38px}.teen-learn-card strong{display:grid;font-size:12.5px;gap:3px}.teen-learn-card small{color:var(--ink-soft);font-size:10.5px;font-weight:400}.gold{background:linear-gradient(135deg,var(--plum),#6b4d24)}.preg-home{background:linear-gradient(180deg,var(--cream) 0%,#f3e2d8 100%);padding:calc(10px + env(safe-area-inset-top,0px)) 22px 116px}.preg-header small{color:var(--ink-soft);font-size:12px}.preg-header h1{color:var(--plum);font-family:var(--serif);font-size:24px;font-weight:400;line-height:1;margin-top:4px}.preg-progress-ring{height:220px;margin:16px auto 14px;position:relative;width:220px}.preg-progress-ring svg{fill:none;top:0;right:0;bottom:0;left:0;position:absolute;stroke-width:13}.preg-progress-ring .track{stroke:#3d1f2f14}.preg-progress-ring .progress{stroke:var(--gold);stroke-dasharray:578;stroke-dashoffset:260;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}.preg-progress-ring>div{align-items:center;color:var(--plum);display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute;text-align:center}.preg-progress-ring span{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.preg-progress-ring strong{font-family:var(--serif);font-size:56px;font-weight:400;line-height:.95;margin-top:4px}.preg-progress-ring small{color:var(--ink-soft);font-size:10.5px;line-height:1.35}.preg-week-card{background:var(--plum);border-radius:18px;color:var(--cream);padding:16px}.preg-week-card .micro{color:#e5b894}.preg-week-card strong{display:block;font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.2;margin-top:6px}.preg-week-card p{color:#faf5eeb8;font-size:12px;line-height:1.45;margin:8px 0 0}.preg-action-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:10px}.preg-action-grid button{background:#ffffffb3;border:1px solid var(--line);border-radius:14px;color:var(--plum);min-height:66px;padding:14px;text-align:left}.preg-action-grid .kicks{background:var(--terracotta);color:var(--cream)}.peri-home{background:linear-gradient(180deg,var(--cream) 0%,#efe0d2 100%);padding:calc(10px + env(safe-area-inset-top,0px)) 14px 116px}.peri-header,.empty-header{padding:0 4px}.peri-header small,.empty-header small{color:var(--ink-soft);font-size:12px}.peri-header h1,.empty-header h1{color:var(--plum);font-family:var(--serif);font-size:24px;font-weight:400;line-height:1;margin-top:4px}.peri-cycle-card{background:var(--plum);border-radius:18px;color:var(--cream);margin-top:16px;padding:16px}.peri-cycle-card .micro{color:#e5b894}.peri-cycle-card strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.15;margin-top:6px}.peri-cycle-card em{color:var(--cream)}.peri-bars{align-items:end;display:grid;gap:6px;grid-template-columns:repeat(6,1fr);height:74px;margin-top:14px}.peri-bars div{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:end}.peri-bars small{color:#faf5eeb8;font-size:9px}.peri-bars i{background:#faf5ee59;border-radius:3px 3px 0 0;width:100%}.peri-bars i.current{background:#e5b894}.peri-stat-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:12px}.peri-stat-grid article{background:#ffffffb8;border:1px solid var(--line);border-radius:14px;min-height:72px;padding:12px}.peri-stat-grid .micro{color:var(--terracotta)}.peri-stat-grid strong{color:var(--plum);display:block;font-family:var(--serif);font-size:24px;font-weight:400;margin-top:5px}.peri-stat-grid small{color:var(--ink-soft);font-size:10px}.peri-clinical-card{background:#ffffffb8;border:1px solid var(--line);border-radius:14px;border-top:3px solid #8a6b7e;margin-top:12px;padding:14px}.peri-clinical-card .micro{color:var(--ink-soft)}.peri-clinical-card .micro b{color:#8a6b7e;padding:0 5px}.peri-clinical-card strong{color:var(--plum);display:block;font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.1;margin-top:8px}.peri-clinical-card p{color:var(--ink-soft);font-size:12px;line-height:1.45;margin:10px 0 12px}.peri-clinical-card div{display:flex;flex-wrap:wrap;gap:6px}.peri-clinical-card div b{background:var(--cream-2);border-radius:8px;color:var(--plum);font-size:10px;padding:5px 8px}.empty-home{background:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 26px 116px;text-align:center}.empty-header{text-align:left}.empty-orb{align-items:center;border:1px dashed rgba(196,99,74,.72);border-radius:999px;display:flex;height:220px;justify-content:center;margin:58px auto 22px;width:220px}.empty-orb strong{color:var(--plum);display:block;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.15;max-width:150px}.empty-orb em{font-style:italic}.empty-orb small{color:var(--ink-soft);display:block;font-size:11px;margin-top:8px}.empty-home p{color:var(--ink-soft);font-size:13px;line-height:1.45;margin:0 auto 18px;max-width:280px}.empty-primary,.empty-secondary{border-radius:999px;min-height:44px;width:100%}.empty-primary{background:var(--plum);color:var(--cream);font-weight:700}.empty-secondary{background:transparent;border:1px solid var(--line);color:var(--ink-soft);margin-top:10px}.preg-action-grid .micro{color:currentColor;opacity:.78}.preg-action-grid strong{display:block;font-family:var(--serif);font-size:16px;font-weight:400;line-height:1.18;margin-top:6px}.preg-action-grid .kicks strong{font-size:30px;line-height:.9}.preg-action-grid small{display:block;font-size:10px;margin-top:4px;opacity:.82}.tile-grid{grid-template-columns:1fr 1fr;margin-top:12px}.tile-grid button{min-height:84px;padding:16px;font-weight:700}.preg-ring{width:220px;height:220px;border:16px solid rgba(201,146,74,.22);border-top-color:var(--gold);border-radius:999px;margin:24px auto;display:grid;place-content:center;text-align:center}.preg-ring span{font-family:var(--serif);font-size:58px}.bars{display:flex;align-items:end;gap:8px;height:72px;margin-top:14px}.bars i{width:24px;border-radius:8px 8px 0 0;background:var(--blush)}.constellation{height:430px;position:relative;margin-top:18px}.constellation:before{content:"";position:absolute;top:84px;right:34px;bottom:84px;left:34px;border:1px dashed rgba(196,99,74,.4);border-radius:999px}.constellation button,.bubble-grid button{background:#fff;color:var(--plum);border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 24px #3d1f2f14}.constellation button{width:96px;height:96px;position:absolute}.constellation button:nth-child(1){left:118px;top:0}.constellation button:nth-child(2){right:6px;top:96px}.constellation button:nth-child(3){right:36px;bottom:72px}.constellation button:nth-child(4){left:118px;bottom:12px}.constellation button:nth-child(5){left:8px;bottom:72px}.constellation button:nth-child(6){left:34px;top:96px}.quick-log-screen{background:linear-gradient(180deg,var(--cream) 0%,#f3e4d8 100%);padding:calc(10px + env(safe-area-inset-top,0px)) 18px 108px}.log-header{align-items:center;display:grid;grid-template-columns:42px 1fr 42px;gap:10px;text-align:center}.log-header button{background:transparent;border-radius:999px;color:var(--plum);height:42px}.log-header small{color:var(--ink-soft);display:block;font-size:10px;text-transform:uppercase}.log-header strong{font-family:var(--serif);font-size:17px;font-weight:400;line-height:1}.log-hint{color:var(--ink-soft);font-family:var(--serif);font-size:13px;font-style:italic;margin:6px 0 0;text-align:center}.radial-logger{height:296px;margin:18px auto 0;max-width:296px;position:relative;width:100%}.radial-logger:before,.radial-logger:after{border:1px dashed rgba(196,99,74,.16);border-radius:999px;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.radial-logger:before{height:210px;width:210px}.radial-logger:after{height:268px;width:268px}.logger-sun{align-items:center;background:radial-gradient(circle at 34% 28%,#e8c3b3,var(--terracotta) 52%,#7b2d1f);border:6px solid rgba(196,99,74,.16);border-radius:999px;box-shadow:0 18px 40px #c4634a47;color:var(--cream);display:flex;flex-direction:column;height:106px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:106px;z-index:3}.logger-sun small,.logger-sun span{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.logger-sun strong{font-family:var(--serif);font-size:25px;font-weight:400}.logger-planet{align-items:center;background:var(--cream);border:2px solid var(--planet);border-radius:999px;box-shadow:0 8px 20px #3d1f2f1a;color:var(--plum);display:flex;height:64px;justify-content:center;left:var(--x);position:absolute;top:var(--y);transform:translate(-50%,-50%);width:64px;z-index:4}.logger-planet.active{background:var(--cream);box-shadow:0 8px 20px #3d1f2f1a;color:var(--plum)}.logger-planet.disabled{border-color:var(--planet);color:var(--plum);cursor:default;opacity:1;pointer-events:none}.logger-planet span{bottom:-20px;display:block;font-size:10.5px;font-weight:700;left:50%;position:absolute;transform:translate(-50%);white-space:nowrap}.logger-line{border-top:1px dotted rgba(196,99,74,.28);left:50%;position:absolute;top:50%;transform:rotate(var(--line-angle));transform-origin:left center;width:74px;z-index:1}.logger-card,.note-card,.mechanism-card,.day-detail-card,.prediction-card,.confidence-card,.question-card{background:#ffffffb8;border:1px solid var(--line);border-radius:18px;padding:16px}.log-history-card{background:#ffffffb8;border:1px solid var(--line);border-radius:18px;display:grid;gap:12px;padding:16px}.log-history-card>p{color:var(--ink-soft);font-size:13px;line-height:1.45;margin:0}.log-history-list{display:grid;gap:8px}.log-history-list button{align-items:center;background:#faf5eec7;border:1px solid var(--line);border-radius:14px;color:var(--plum);display:grid;gap:10px;grid-template-columns:62px 1fr auto;min-height:52px;padding:10px 12px;text-align:left}.log-history-list time{color:var(--terracotta);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.log-history-list strong{display:block;font-size:12.5px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-log-screen .logger-card{border-radius:16px;margin-top:0;padding:12px}.logger-card-head{align-items:center;display:flex;justify-content:space-between}.logger-card-head small{color:var(--ink-soft);font-size:10px}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chip-row button{background:var(--cream-2);border-radius:999px;color:var(--plum);font-size:11.5px;font-weight:700;padding:8px 12px}.chip-row .selected{background:var(--terracotta);color:#fff}.log-summary-section{border-top:1px solid var(--line);display:grid;gap:8px;margin-top:12px;padding-top:12px}.log-summary-section strong{color:var(--plum);font-size:12px}.summary-chip-row{display:flex;flex-wrap:wrap;gap:7px}.summary-chip-row span{background:var(--cream-2);border-radius:999px;color:var(--plum);font-size:11.5px;font-weight:700;padding:8px 12px}.summary-chip-row .selected{background:var(--terracotta);color:#fff}.summary-chip-row .selected.soft{background:var(--blush);color:var(--plum)}.quick-save-message{border-radius:999px;font-size:12px;font-weight:800;margin:14px 0 -4px;padding:10px 14px;text-align:center}.quick-save-message.success{background:#7a916e29;color:#526845}.quick-save-message.error{background:#c4634a29;color:var(--terracotta)}.quick-save:disabled{opacity:.72}.intensity{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin-top:14px;position:relative}.intensity:before{background:linear-gradient(90deg,var(--blush),var(--terracotta));border-radius:999px;content:"";grid-column:1 / -1;height:4px}.intensity:after{background:var(--terracotta);border-radius:999px;box-shadow:0 2px 8px #c4634a66;content:"";height:14px;left:58%;position:absolute;top:-5px;width:14px}.intensity span,.intensity b{color:var(--ink-soft);font-size:10px}.intensity b{color:var(--terracotta);text-align:center}.bleed-action{align-items:center;background:var(--terracotta);border-radius:14px;color:#fff;display:grid;gap:10px;grid-template-columns:36px 1fr auto;justify-content:stretch;margin-top:12px;min-height:58px;padding:10px 14px;text-align:left;width:100%}.bleed-action>span{align-items:center;background:#ffffff47;border-radius:999px;display:flex;height:36px;justify-content:center;width:36px}.bleed-action strong{display:grid;font-size:13px;gap:2px}.bleed-action small{color:#ffffffc7;font-size:10px;font-weight:500}.bleeding-screen{background:var(--cream-2)}.bleeding-list{display:grid;gap:9px;margin-top:22px}.bleed-level-row{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;color:var(--plum);display:grid;grid-template-columns:auto 1fr 22px;min-height:58px;padding:12px;text-align:left}.bleed-level-row.selected{background:var(--plum);color:var(--cream)}.bleed-dots{display:flex;gap:4px;margin-right:12px}.bleed-dots i{background:#3d1f2f1f;border-radius:999px;height:9px;width:9px}.bleed-dots .filled{background:var(--dot)}.clot-row{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:16px;display:flex;gap:8px;margin-top:12px;padding:12px}.clot-row span{flex:1;font-weight:800}.clot-row button{background:var(--cream);border-radius:999px;color:var(--plum);height:30px;width:30px}.clot-row .selected{background:var(--terracotta);color:#fff}.mood-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:24px}.mood-blob{aspect-ratio:1;background:transparent;color:var(--plum);position:relative}.mood-blob svg{filter:blur(.2px);top:0;right:0;bottom:0;left:0;opacity:.55;position:absolute}.mood-blob path{fill:var(--mood)}.mood-blob.selected svg{opacity:.92}.mood-blob span{font-size:11.5px;font-weight:800;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;position:absolute;text-align:center}.mood-blob b{background:var(--plum);border-radius:999px;color:#fff;display:grid;height:18px;place-items:center;position:absolute;right:12px;top:10px;width:18px}.note-card{color:var(--ink-soft);font-size:13px;margin-top:16px}.pain-screen{background:var(--cream);padding-bottom:128px}.pain-screen h1{font-size:25px;margin-top:18px}.pain-screen>.micro{margin-top:10px}.pain-screen .primary{bottom:34px;left:22px;margin:0;position:absolute;right:22px;width:auto}.pain-map{height:310px;margin:18px auto 12px;max-width:250px;position:relative}.pain-silhouette{height:100%;stroke:var(--terracotta);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:100%}.pain-silhouette .body-hair,.pain-silhouette .body-face,.pain-silhouette .body-neck,.pain-silhouette .body-shape{fill:#c4634a1f}.pain-silhouette .body-face{fill:var(--cream)}.pain-silhouette .body-line{fill:none;opacity:.45}.pain-hotspot{background:var(--cream);border:2px solid var(--terracotta);border-radius:999px;height:30px;position:absolute;transform:translate(-50%,-50%);width:30px}.pain-hotspot.selected{background:var(--terracotta);box-shadow:0 0 0 6px #c4634a29}.pain-hotspot.selected:after{color:#fff;content:"✓";font-size:13px;font-weight:800;left:50%;position:absolute;top:50%;transform:translate(-50%,-52%)}.pain-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:8px}.pain-tags span,.phase-chip{background:var(--terracotta);border-radius:999px;color:#fff;font-size:11px;font-weight:800;padding:7px 10px}.calendar-legend{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.calendar-legend span{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:10px;font-weight:800;padding:7px 9px}.calendar-legend span:before{background:var(--terracotta);border-radius:999px;content:"";display:inline-block;height:7px;margin-right:6px;width:7px}.calendar-legend .follicular:before{background:#e5b894}.calendar-legend .fertile:before{background:var(--gold)}.calendar-legend .luteal:before{background:#8a6b7e}.day.phase-menstrual{background:#c4634a3d}.day.phase-follicular{background:#e5b8943d}.day.phase-ovulation{background:#c9924a3d}.day.phase-luteal{background:#8a6b7e38}.day.predicted{border:1px dashed var(--terracotta)}.day.selected-date{box-shadow:0 0 0 2px var(--plum) inset;font-weight:800}.day.logged:after{background:currentColor;border-radius:999px;bottom:4px;content:"";height:4px;left:50%;position:absolute;transform:translate(-50%);width:4px}.day.empty{pointer-events:none}.day.today{background:var(--plum);color:var(--cream);font-weight:800;outline:0}.prediction-card{border-style:dashed;border-color:#c4634a6b;display:grid;gap:4px;margin-top:12px}.prediction-card span,.day-detail-card p{color:var(--ink-soft);font-size:12px;margin:0}.day-detail-card{margin-top:12px}.day-detail-card p{margin-top:10px}.nutrition-screen{background:linear-gradient(180deg,var(--cream) 0%,#f2e4d6 100%)}.nutrition-hero{background:var(--plum);border-radius:20px;color:var(--cream);margin-top:18px;padding:18px}.nutrition-hero>span{align-items:center;background:#e5b8942e;border-radius:14px;color:#e5b894;display:inline-flex;height:46px;justify-content:center;margin-bottom:18px;width:46px}.nutrition-hero strong{display:block;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.05}.nutrition-hero p{color:#faf5eeb8;font-size:12.5px;line-height:1.45;margin:10px 0 0}.nutrition-list{display:grid;gap:10px;margin-top:18px}.nutrition-alert{background:#ffffffc7;border:1px solid var(--line);border-radius:14px;color:var(--terracotta);font-size:12px;margin:12px 0 0;padding:10px 12px}.nutrition-alert.subtle{color:var(--ink-soft)}.nutrition-stats{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.nutrition-stats article{background:#ffffffb8;border:1px solid var(--line);border-radius:16px;display:grid;gap:6px;padding:13px}.nutrition-stats span,.nutrition-cycle-note strong{color:var(--terracotta);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nutrition-stats strong{color:var(--plum);font-family:var(--serif);font-size:26px;font-weight:400;line-height:1}.nutrition-stats small{color:var(--ink-soft);font-family:var(--sans);font-size:11px;margin-left:4px}.nutrition-meal-card{background:#ffffffb8;border:1px solid var(--line);border-radius:16px;color:var(--plum);overflow:hidden}.nutrition-meal-main{background:transparent;border:0;color:inherit;display:grid;gap:4px;min-height:78px;padding:14px;text-align:left;width:100%}.nutrition-meal-main span{color:var(--terracotta);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nutrition-meal-main strong{font-size:14px}.nutrition-meal-main small{color:var(--ink-soft);font-size:11.5px}.nutrition-meal-actions{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nutrition-meal-actions button{background:#faf5ee9e;border:0;border-right:1px solid var(--line);color:var(--plum);font-size:11px;font-weight:800;min-height:42px}.nutrition-meal-actions button:last-child{border-right:0}.nutrition-cycle-note{background:#ffffffb8;border:1px solid var(--line);border-radius:18px;margin-top:14px;padding:15px}.nutrition-cycle-note p{color:var(--ink-soft);font-size:12.5px;line-height:1.5;margin:7px 0 0}.trainer-screen{background:radial-gradient(circle at 50% 12%,rgba(229,184,148,.26),transparent 34%),linear-gradient(180deg,var(--cream) 0%,#f1dfd3 100%)}.trainer-hero-card{display:grid;gap:14px;margin-top:16px}.trainer-visual{align-items:center;background:var(--plum);border-radius:22px;color:var(--cream);display:flex;height:184px;justify-content:center;overflow:hidden;position:relative}.trainer-visual img{height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;object-position:center 42%;opacity:.82;position:absolute;width:100%}.trainer-visual:before{background:linear-gradient(180deg,#2a15212e,#2a15219e);content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:1}.trainer-visual span{align-items:center;background:#faf5ee24;border:1px solid rgba(250,245,238,.28);border-radius:999px;display:inline-flex;height:82px;justify-content:center;position:relative;width:82px;z-index:2}.trainer-visual i{border:1px solid rgba(250,245,238,.18);border-radius:999px;height:142px;position:absolute;width:142px;z-index:2}.trainer-visual:after{background:linear-gradient(90deg,transparent,rgba(250,245,238,.16),transparent);content:"";height:100%;top:0;right:0;bottom:0;left:0;position:absolute;z-index:1}.trainer-hero-card h1{color:var(--plum);font-size:34px;line-height:1.02;margin-top:0}.trainer-hero-card h1 em{color:var(--terracotta);display:block}.trainer-hero-card p{color:var(--ink-soft);font-size:13px;line-height:1.55;margin:0}.trainer-step-list{display:grid;gap:10px;margin-top:18px}.trainer-step-list button{align-items:center;background:#ffffffbd;border:1px solid var(--line);border-radius:16px;color:var(--plum);display:flex;justify-content:space-between;min-height:58px;overflow:hidden;padding:0 16px;position:relative;text-align:left}.trainer-step-list button strong{font-size:13px;position:relative;z-index:2}.trainer-step-list button span{color:#3d1f2f1a;font-size:42px;font-weight:900;line-height:1}.trainer-note{color:var(--ink-soft);font-size:12px;font-weight:700;line-height:1.4;margin:24px auto 12px;max-width:260px;text-align:center}.trainer-cta{background:var(--plum);color:var(--cream);margin-top:0}.composition-screen{background:radial-gradient(circle at 82% 12%,rgba(196,99,74,.18),transparent 32%),linear-gradient(180deg,var(--cream) 0%,#ead9cc 100%)}.composition-dashboard{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:16px}.composition-stat,.composition-chart-card{background:linear-gradient(145deg,#ffffffb8,#ffffff52);border:1px solid rgba(255,255,255,.62);border-radius:18px;box-shadow:0 18px 38px #3d1f2f1f;color:var(--plum);overflow:hidden}.composition-stat{align-content:center;display:grid;min-height:112px;padding:14px}.composition-stat svg{color:var(--terracotta);margin-bottom:8px}.composition-stat span{color:var(--ink-soft);font-size:12px;font-weight:800}.composition-stat strong{font-size:28px;line-height:1.05}.composition-stat small{font-size:17px}.composition-chart-card{grid-column:1 / -1;padding:14px}.composition-chart-card header{align-items:center;display:flex;justify-content:space-between}.composition-chart-card header span{font-size:13px;font-weight:900}.composition-chart-card header strong{font-size:16px}.composition-tabs{display:flex;gap:12px;margin:12px 0 8px}.composition-tabs b{color:var(--ink-soft);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.composition-tabs .active{background:var(--plum);border-radius:999px;color:var(--cream);padding:3px 10px}.composition-chart{background:linear-gradient(180deg,#3d1f2f14,#3d1f2f08);border-radius:14px;height:128px;overflow:hidden;position:relative}.composition-chart svg{height:100%;width:100%}.composition-chart .fill{fill:url(#bodyFatFill)}.composition-chart .line{fill:none;stroke:#3d1f2fb8;stroke-width:3}.composition-chart .marker-line{stroke:var(--terracotta);stroke-width:2}.composition-chart .marker{fill:var(--cream);stroke:var(--terracotta);stroke-width:4}.composition-chart>b{background:var(--terracotta);border-radius:999px;color:#fff;font-size:10px;left:55%;padding:4px 6px;position:absolute;top:24px}.composition-chart-card footer{color:var(--ink-soft);display:flex;font-size:10px;justify-content:space-between;margin-top:6px}.composition-note{color:var(--ink-soft);font-size:11.5px;line-height:1.45;margin:14px 0 0;text-align:center}.composition-cta{margin-top:12px}.insights-screen{background:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 22px 112px}.insights-header{align-items:center;display:grid;grid-template-columns:36px 1fr 36px;margin-bottom:18px}.insights-header button{background:transparent;color:var(--plum);height:34px}.insights-header strong{color:var(--plum);font-family:var(--serif);font-size:18px;font-weight:400;justify-self:center}.insights-screen h1{font-size:26px;line-height:1.02;margin-top:6px}.insights-screen h1 em{color:var(--plum)}.insights-screen .insight-card{background:#ffffffb8;border:1px solid var(--line);border-radius:16px;box-shadow:none;color:var(--plum);display:block;margin-top:12px;min-height:0;padding:16px;text-align:left;width:100%}.insights-screen .insight-card.hero{background:var(--plum);border-color:transparent;color:var(--cream);margin-top:16px;padding:18px}.insights-screen .insight-card span{color:var(--terracotta);display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.insights-screen .insight-card.hero span{color:#e5b894}.insights-screen .insight-card strong{display:block;font-family:var(--serif);font-size:17px;font-weight:400;line-height:1.18;margin-top:8px}.insights-screen .insight-card.hero strong{font-size:20px}.insights-screen .insight-card strong em{color:inherit}.insights-screen .insight-card p{color:var(--ink-soft);font-size:11.5px;line-height:1.45;margin:8px 0 0}.insights-screen .insight-card.hero p{color:#faf5eeb8;max-width:252px}.insights-screen .insights-empty-card small{color:#faf5eeb8;display:block;font-size:11px;line-height:1.45;margin-top:12px}.insights-screen .insights-empty-card .primary{background:var(--cream);color:var(--plum);margin-top:18px;min-height:48px}.insights-screen .insights-empty-card .primary:disabled,.see-patterns:disabled{opacity:.65}.pattern-bars,.mini-bars{align-items:end;display:flex;gap:5px;height:78px;margin-top:14px}.pattern-bars{display:grid;gap:5px;grid-template-columns:repeat(11,1fr);height:68px;position:relative}.pattern-bars i,.mini-bars i{background:#c4634a2e;border-radius:7px 7px 0 0;flex:1}.pattern-bars i{align-self:end;background:#faf5ee38;border-radius:3px 3px 0 0}.insight-card.hero .mini-bars i{background:#faf5ee33}.pattern-bars .hot,.mini-bars .hot{background:var(--blush-2)}.pattern-bars small{bottom:-16px;color:#faf5eeb8;font-size:9px;position:absolute}.pattern-bars small:nth-of-type(1){left:0}.pattern-bars small:nth-of-type(2){left:49%;transform:translate(-50%)}.pattern-bars small:nth-of-type(3){right:0}.see-patterns{align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--plum);display:flex;font-size:12px;justify-content:space-between;margin-top:14px;min-height:42px;padding:0 14px;width:100%}.clinical-deep-screen{padding-left:18px;padding-right:18px;padding-bottom:34px}.clinical-deep-header{align-items:center;display:grid;grid-template-columns:38px 1fr 38px;margin-bottom:22px;text-align:center}.clinical-deep-header button{background:transparent;color:var(--plum);height:38px}.clinical-deep-header strong{color:var(--plum);font-family:var(--serif);font-size:16px;font-weight:400}.clinical-deep-screen>.phase-chip.soft{align-items:center;background:transparent;color:#8a6b7e;display:inline-flex;font-size:10px;font-weight:800;gap:6px;letter-spacing:.12em;padding:0 4px;text-transform:uppercase}.clinical-deep-screen>.phase-chip.soft i{background:#8a6b7e;border-radius:999px;height:6px;width:6px}.clinical-deep-screen h1{font-size:30px;line-height:1.05;margin-top:14px}.clinical-deep-screen h1 em{color:var(--terracotta)}.hormone-chart{background:var(--cream);border:1px solid var(--line);border-radius:18px;margin-top:14px;padding:16px}.hormone-chart>.micro{color:var(--ink-soft)}.hormone-chart svg{fill:none;height:120px;margin-top:8px;width:100%}.hormone-chart path{stroke-linecap:round;stroke-width:2.5}.hormone-chart .grid-line{stroke:var(--line);stroke-width:.5}.hormone-chart .estrogen{stroke:var(--gold)}.hormone-chart .progesterone{stroke:var(--terracotta)}.hormone-chart .marker{stroke:var(--plum);stroke-dasharray:3 3;stroke-width:1}.hormone-chart circle{fill:var(--plum)}.chart-legend{color:var(--ink-soft);display:flex;font-size:10.5px;gap:16px;margin-top:6px}.chart-legend span{align-items:center;display:inline-flex;gap:5px}.chart-legend span:before{content:"";display:inline-block;height:2px;width:12px}.chart-legend .estrogen-key:before{background:var(--gold)}.chart-legend .progesterone-key:before{background:var(--terracotta)}.chart-legend b{color:var(--ink-soft);font-weight:700;margin-left:auto}.clinical-deep-screen .mechanism-card{background:transparent;border:0;margin-top:14px;padding:0 4px}.clinical-deep-screen .mechanism-card .micro,.clinical-deep-screen .remedy-grid>.micro{color:var(--terracotta)}.clinical-deep-screen .mechanism-card p{color:var(--plum);font-size:14px;line-height:1.55;margin:8px 0 0}.clinical-deep-screen .clarity-safety-card{background:#ffffff9e;border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:14px}.clinical-deep-screen .clarity-safety-card ul{color:var(--plum);display:grid;font-size:12.5px;gap:7px;line-height:1.4;margin:10px 0 0;padding-left:18px}.clinical-deep-screen .clarity-safety-card small{color:var(--ink-soft);display:block;font-size:11px;line-height:1.45;margin-top:12px}.clinical-deep-screen .mechanism-card strong{font-weight:800}.clinical-deep-screen .mechanism-card b{background:var(--blush);border-radius:3px;color:var(--plum);font-weight:500;padding:0 4px}.clinical-deep-screen .remedy-grid{display:grid;gap:8px;margin-top:18px;padding-bottom:18px}.clinical-deep-screen .remedy-grid>.micro{padding:0 4px}.clinical-deep-screen .remedy-grid button{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;color:var(--plum);display:grid;gap:12px;grid-template-columns:36px 1fr auto;min-height:54px;padding:10px 12px;text-align:left}.clinical-deep-screen .remedy-grid button>span{align-items:center;background:var(--blush);border-radius:10px;color:var(--terracotta);display:flex;height:36px;justify-content:center;width:36px}.clinical-deep-screen .remedy-grid strong{display:grid;font-size:13px;gap:2px}.clinical-deep-screen .remedy-grid small{color:var(--ink-soft);font-size:11px;font-weight:400}.practice-screen{background:linear-gradient(180deg,#f3d3c7,#eec4b5);padding:calc(10px + env(safe-area-inset-top,0px)) 24px 42px;text-align:center}.practice-header{align-items:center;display:grid;grid-template-columns:36px 1fr 36px;margin-bottom:22px}.practice-header button{background:transparent;color:var(--plum);height:36px}.practice-header strong{color:var(--plum);font-size:10px;font-weight:800;justify-self:center;letter-spacing:.16em;text-transform:uppercase}.practice-screen>.micro{color:var(--terracotta)}.practice-screen h1{color:var(--plum);font-size:28px;line-height:1;margin-top:10px}.practice-screen h1 em{color:var(--plum)}.practice-screen .lead{font-size:12.5px;line-height:1.45;margin-top:8px;max-width:286px}.breath-visual{align-items:center;background:radial-gradient(circle,rgba(196,99,74,.96) 0 27px,rgba(196,99,74,.55) 28px 48px,rgba(196,99,74,.22) 49px 78px,rgba(196,99,74,.12) 79px 110px,rgba(196,99,74,.06) 111px 140px,transparent 141px);border:1px solid rgba(196,99,74,.08);border-radius:999px;display:flex;height:220px;justify-content:center;margin:28px auto 18px;width:220px}.breath-visual.inhale{transform:scale(1.04);transition:transform 3.8s ease-in-out}.breath-visual.exhale{transform:scale(.96);transition:transform 5.8s ease-in-out}.breath-visual.relax{transform:scale(1);transition:transform 1.8s ease-in-out}.breath-visual span{color:#fff;display:grid;font-family:var(--serif);font-size:28px;place-items:center}.breath-visual span small{color:#fff;font-size:8px;letter-spacing:.12em;margin-top:-2px}.breath-visual small,.phase-label{color:var(--ink-soft);font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0;text-align:center}.phase-label{font-family:var(--serif);font-style:italic;margin:0 0 20px}.practice-steps{display:grid;gap:6px;list-style:none;margin:0 0 18px;padding:0;text-align:left}.practice-steps li{background:#faf5ee61;border:1px solid rgba(61,31,47,.08);border-radius:12px;color:var(--ink-soft);font-size:11px;line-height:1.35;padding:8px 10px}.practice-steps li b{color:var(--terracotta);display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.practice-steps li.active{background:#faf5eebd;color:var(--plum)}.practice-timeline{align-items:center;display:grid;gap:8px;grid-template-columns:auto 1fr auto;margin-top:0}.practice-timeline small{color:var(--ink-soft);font-size:9px}.practice-timeline i{background:linear-gradient(90deg,var(--plum) 0 var(--progress, 0%),rgba(61,31,47,.16) var(--progress, 0%));border-radius:999px;height:3px}.player-controls{align-items:center;display:flex;gap:24px;justify-content:center;margin-top:30px}.player-controls button{align-items:center;background:#faf5eebd;border-radius:999px;color:var(--plum);display:flex;height:44px;justify-content:center;width:44px}.player-controls button:first-child svg{transform:rotate(180deg)}.player-controls .pause{background:var(--plum);box-shadow:0 16px 34px #3d1f2f38;color:var(--cream);height:60px;width:60px}.player-controls .pause span{border-left:4px solid currentColor;border-right:4px solid currentColor;height:18px;width:12px}.practice-follow{color:var(--ink-soft);font-size:11px;font-style:italic;margin-top:24px}.practice-complete-card{background:#faf5eeb8;border:1px solid rgba(61,31,47,.08);border-radius:22px;margin-top:42px;padding:22px 16px;text-align:center}.practice-complete-card>strong{color:var(--plum);display:block;font-family:var(--serif);font-size:28px;font-weight:400;margin-top:8px}.practice-complete-card>div{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:20px}.practice-complete-card>div button{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--plum);font-weight:700;min-height:44px}.practice-complete-card>div button.selected{background:var(--plum);color:var(--cream)}.practice-complete-card p,.practice-complete-card small{color:var(--ink-soft);display:block;font-size:12px;line-height:1.45;margin-top:16px}.practice-complete-card .primary{margin-top:18px}.weekly-screen{background:#3d1f2f;color:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 20px 36px}.weekly-header{margin-bottom:18px}.weekly-header button{background:transparent;color:var(--cream);height:34px;width:34px}.weekly-screen .micro{color:#e5b894}.weekly-screen h1{color:var(--cream);font-size:30px;line-height:1;margin-top:12px}.weekly-screen h1 em{color:#e5b894}.weekly-stats{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-top:28px}.weekly-stats b{background:transparent;border:0;border-radius:0;color:#e5b894;display:grid;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.02;min-height:0;padding:0}.weekly-stats span,.weekly-stats small{color:#faf5ee8f;font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.weekly-stats small{font-size:9px;font-weight:500;letter-spacing:0;margin-top:3px;text-transform:none}.weekly-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:16px;color:var(--cream);margin-top:22px;padding:16px}.weekly-card+.weekly-card{margin-top:14px}.weekly-card span{color:#e5b894;display:block;font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:10px;text-transform:uppercase}.weekly-card strong{display:block;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.18}.weekly-card strong em{color:#e5b894}.weekly-card p{color:#faf5eec7;font-size:12px;line-height:1.45;margin:12px 0 0}.weekly-card div{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:14px}.weekly-card button{background:#e5b894;border-radius:999px;color:var(--plum);font-weight:800;min-height:42px;padding:0 18px}.weekly-card button+button{background:transparent;border:1px solid rgba(250,245,238,.22);color:var(--cream)}.loop-foot{color:#faf5ee99;display:block;font-style:italic;margin-top:22px;text-align:center}.learn-screen{background:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 20px 112px}.learn-header,.care-header{align-items:center;display:grid;grid-template-columns:36px 1fr 36px}.learn-header h1{font-size:22px;grid-column:2;justify-self:center;margin:0}.learn-header button,.care-header button{background:#ffffffb8;border:1px solid var(--line);border-radius:999px;color:var(--plum);height:34px}.learn-coming-soon,.feature-coming-soon{align-items:center;background:radial-gradient(circle at 50% 0%,rgba(232,195,179,.48),transparent 42%),#ffffffb8;border:1px solid var(--line);border-radius:24px;display:grid;justify-items:center;margin-top:28px;min-height:430px;padding:34px 22px;text-align:center}.learn-coming-soon>span,.feature-coming-soon>span{align-items:center;background:#c4634a1a;border-radius:18px;color:var(--terracotta);display:inline-flex;height:58px;justify-content:center;width:58px}.learn-coming-soon h1,.feature-coming-soon h1{font-size:34px;line-height:1.02;margin:8px 0 0}.learn-coming-soon p,.feature-coming-soon p{color:var(--ink-soft);font-size:13.5px;line-height:1.55;margin:0;max-width:280px}.learn-coming-soon .primary,.feature-coming-soon .primary{margin-top:4px;width:100%}.learn-screen>p,.learn-feature,.learn-screen>.micro,.learn-list{display:none}.learn-screen>p{color:var(--ink-soft);font-size:11px;margin:16px 0 18px}.learn-screen>p b{background:#8a6b7e;border-radius:999px;display:inline-block;height:6px;margin:0 8px;width:6px}.learn-screen>p span{color:#8a6b7e;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.learn-feature{background:radial-gradient(circle at 85% 28%,rgba(229,184,148,.16) 0 54px,transparent 55px),radial-gradient(circle at 86% 76%,rgba(196,99,74,.28) 0 32px,transparent 33px),#4a2637;border-radius:14px;color:var(--cream);min-height:120px;padding:18px}.learn-feature span,.learn-screen>.micro{color:#e5b894}.learn-feature strong{display:block;font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.08;margin-top:10px;max-width:236px}.learn-feature small{color:#faf5eeb8;display:block;font-size:10px;margin-top:14px}.learn-screen>.micro{margin-top:18px}.learn-list{display:grid;gap:8px;margin-top:12px}.learn-list button{align-items:center;background:transparent;border-radius:12px;color:var(--plum);display:grid;gap:12px;grid-template-columns:44px 1fr auto;min-height:60px;padding:8px 4px;text-align:left}.learn-list i{align-items:center;background:color-mix(in srgb,var(--article-color) 15%,white);border-radius:10px;color:var(--article-color);display:flex;height:44px;justify-content:center;width:44px}.learn-list strong{display:grid;font-size:12px;gap:2px}.learn-list strong span{color:var(--article-color);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.learn-list small{color:var(--ink-soft);font-size:10px;font-weight:400}.care-screen{background:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 18px 96px}.care-header button{background:transparent;border:0}.care-header strong{font-family:var(--serif);font-size:16px;font-weight:400;justify-self:center}.care-screen h1{font-size:26px;line-height:1.05;margin-top:22px}.care-screen h1 em{color:var(--plum)}.care-screen>p{color:var(--ink-soft);font-size:12px;line-height:1.45;margin:12px 0 20px}.care-members{display:grid;gap:10px}.care-members article{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;display:grid;gap:12px;grid-template-columns:42px 1fr auto;min-height:62px;padding:10px 12px}.care-members article>b{align-items:center;background:var(--gold);border-radius:999px;color:var(--cream);display:flex;font-family:var(--serif);height:38px;justify-content:center;width:38px}.care-members article:nth-child(2)>b{background:#8a6b7e}.care-members strong{display:grid;font-size:12px;gap:2px}.care-members small{color:var(--ink-soft);font-size:9.5px;font-weight:400}.care-members button{background:var(--cream-2);border-radius:999px;color:var(--plum);font-size:10px;padding:7px 10px}.care-preview{margin-top:30px}.care-preview .micro{color:var(--ink-soft);margin-bottom:10px}.care-preview article{background:var(--cream-2);border:1px solid var(--line);border-radius:14px;padding:16px}.care-preview span{align-items:center;color:#8a6b7e;display:flex;font-size:10px;font-weight:800;gap:8px;letter-spacing:.1em;text-transform:uppercase}.care-preview span i{background:#8a6b7e;border-radius:999px;height:6px;width:6px}.care-preview span small{color:var(--ink-soft);font-size:10px;font-weight:400;letter-spacing:0;text-transform:none}.care-preview strong{display:block;font-family:var(--serif);font-size:17px;font-weight:400;margin-top:12px}.care-preview p{color:var(--ink-soft);font-size:11px;line-height:1.45;margin:6px 0 0}.care-invite{background:var(--plum);border-radius:999px;bottom:24px;color:var(--cream);font-weight:800;left:22px;min-height:48px;position:absolute;right:22px}.profile-screen{background:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 112px}.profile-header{align-items:center;display:flex;justify-content:space-between;padding:0 4px}.profile-header h1{font-size:22px;margin:0}.profile-header button{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--plum);height:34px;width:34px}.profile-hero{align-items:center;background:#5a2d43;border-radius:16px;color:var(--cream);display:grid;gap:12px;grid-template-columns:54px 1fr;margin-top:18px;min-height:80px;padding:14px 16px}.profile-hero b{align-items:center;background:#e2ad65;border-radius:999px;color:var(--plum);display:flex;font-family:var(--serif);font-size:24px;font-weight:400;height:50px;justify-content:center;width:50px}.profile-hero strong{display:grid;font-family:var(--serif);font-size:18px;font-weight:400;gap:4px}.profile-hero small{color:#faf5eeb8;font-family:var(--sans);font-size:10px}.profile-stage{margin-top:22px}.profile-stage p{color:var(--plum);font-family:var(--serif);font-size:16px;margin:7px 0 12px}.profile-stage>div:last-child{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.profile-stage button{background:#ffffffb8;border:1px solid var(--line);border-radius:9px;color:var(--plum);min-height:40px;padding:7px 4px}.profile-stage button.selected{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.profile-stage strong,.profile-stage small{display:block}.profile-stage strong{font-size:10px}.profile-stage small{font-size:7px;opacity:.8}.profile-settings{display:grid;gap:8px;margin-top:20px}.profile-settings button{align-items:center;background:#ffffffbd;border:1px solid var(--line);border-radius:12px;color:var(--plum);display:grid;gap:12px;grid-template-columns:36px 1fr auto;min-height:50px;padding:9px 12px;text-align:left}.profile-settings button.premium{background:#e5b8942e;border-color:#c9924a80}.profile-settings button>span{align-items:center;background:var(--blush);border-radius:10px;color:var(--terracotta);display:flex;height:32px;justify-content:center;width:32px}.profile-settings button.premium>span{background:var(--gold);color:var(--cream)}.profile-settings button.logout{color:var(--terracotta)}.profile-settings button.logout>span{background:#c4634a24;color:var(--terracotta)}.profile-settings strong{display:grid;font-size:12px;gap:2px}.profile-settings small{color:var(--ink-soft);font-size:9.5px;font-weight:400}.privacy-center-screen{background:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 36px}.privacy-center-header{align-items:center;display:grid;grid-template-columns:34px 1fr 34px;margin-bottom:16px}.privacy-center-header button{background:transparent;color:var(--plum);height:34px}.privacy-center-header strong{font-family:var(--serif);font-size:16px;font-weight:400;justify-self:center}.privacy-posture{background:var(--plum);border-radius:14px;color:var(--cream);padding:16px}.privacy-posture span{color:#e5b894;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.privacy-posture strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400;margin-top:8px}.privacy-posture div{display:grid;gap:4px;grid-template-columns:repeat(3,1fr);margin-top:12px}.privacy-posture i{background:#faf5ee2e;border-radius:999px;height:4px}.privacy-posture i:first-child{background:#e5b894}.privacy-toggle-list{display:grid;gap:8px;margin-top:14px}.privacy-toggle-list button,.privacy-data button{align-items:center;background:#ffffffb8;border:1px solid var(--line);border-radius:10px;color:var(--plum);display:grid;grid-template-columns:1fr auto;min-height:54px;padding:10px 12px;text-align:left}.privacy-toggle-list strong,.privacy-data strong{display:block;font-size:12px}.privacy-toggle-list b{background:var(--sage);border-radius:4px;color:#fff;font-size:8px;margin-left:4px;padding:1px 4px}.privacy-toggle-list small,.privacy-data small{color:var(--ink-soft);display:block;font-size:9.5px;margin-top:3px}.privacy-data{display:grid;gap:8px;margin-top:28px}.privacy-data .micro{color:var(--ink-soft);margin-bottom:2px}.privacy-data .danger strong{color:var(--terracotta)}.privacy-data .danger svg{color:var(--terracotta)}.premium-screen{background:var(--plum);color:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 120px}.premium-header{align-items:center;display:flex;justify-content:space-between}.premium-header button{background:transparent;color:var(--cream);height:34px}.premium-header button:last-child{font-size:10px}.premium-badge{background:var(--gold);border-radius:999px;color:var(--plum);display:inline-block;font-size:10px;font-weight:900;margin-top:18px;padding:6px 12px}.premium-screen h1{color:var(--cream);font-size:32px;line-height:.98;margin-top:18px}.premium-screen h1 em{color:#e5b894}.premium-screen>p{color:#faf5eeb8;font-size:12px;line-height:1.5;margin-top:18px}.premium-feature-list{display:grid;gap:6px;margin-top:22px}.premium-feature-list div{align-items:center;background:#ffffff0f;border-radius:8px;display:grid;gap:10px;grid-template-columns:1fr 28px 28px;min-height:34px;padding:0 12px}.premium-feature-list span{font-size:11px}.premium-feature-list b{color:#e5b894;font-size:12px;text-align:center}.premium-feature-list small{color:#faf5ee9e;font-size:9px;justify-self:end}.premium-feature-list small:last-child{margin-right:2px}.premium-plans{display:grid;gap:8px;margin-top:18px}.premium-plans button{align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:var(--cream);display:grid;grid-template-columns:1fr auto;min-height:58px;padding:12px;position:relative;text-align:left}.premium-plans button.selected{border-color:#e5b894;box-shadow:inset 0 0 0 1px #e5b894}.premium-plans button>span{background:#e5b894;border-radius:999px;color:var(--plum);font-size:8px;font-weight:900;padding:3px 8px;position:absolute;right:12px;top:-9px;text-transform:uppercase}.premium-plans strong{display:grid;font-size:12px}.premium-plans small{color:#faf5ee9e;font-size:9px;font-weight:400;margin-top:2px}.premium-plans b{color:var(--cream);font-family:var(--serif);font-size:20px;font-weight:400}.premium-plans b s{color:#faf5ee7a;font-size:24px;margin-right:6px;text-decoration-thickness:1px}.premium-plans .annual-only{min-height:74px}.premium-cta{background:#e8b98f;border-radius:999px;bottom:24px;color:var(--plum);font-weight:800;left:22px;min-height:52px;position:absolute;right:22px}.premium-note{border:1px solid rgba(250,245,238,.16);border-radius:18px;color:#faf5eeb8;font-size:12px;line-height:1.45;margin:14px 0 0;padding:12px 14px;text-align:center}.razorpay-dummy{align-items:center;background:#2a1521c7;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:22px;position:absolute;z-index:30}.razorpay-dummy>div{background:var(--cream);border-radius:18px;color:var(--plum);display:grid;gap:10px;padding:18px;position:relative;text-align:left;width:min(100%,330px)}.razorpay-dummy>div>button:first-child{background:transparent;color:var(--plum);height:30px;position:absolute;right:10px;top:10px;width:30px}.razorpay-dummy span{color:#2d6cdf;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.razorpay-dummy strong{font-family:var(--serif);font-size:24px;font-weight:400;padding-right:28px}.razorpay-dummy p,.razorpay-dummy small{color:var(--ink-soft);font-size:12px;line-height:1.45}.razorpay-dummy b{color:var(--plum);font-family:var(--serif);font-size:34px;font-weight:400}.razorpay-dummy>div>button:last-child{background:var(--plum);border-radius:999px;color:var(--cream);font-weight:800;min-height:48px;margin-top:8px}.razorpay-dummy>div>button:last-child:disabled{opacity:.68}.pain-prediction-screen{background:#4a2437;color:var(--cream);padding:calc(10px + env(safe-area-inset-top,0px)) 22px 32px}.prediction-topbar{align-items:center;display:grid;grid-template-columns:34px 1fr 34px;margin-bottom:22px}.prediction-topbar button{background:transparent;color:var(--cream);height:34px}.prediction-topbar strong{color:var(--cream);font-family:var(--serif);font-size:16px;font-weight:400;justify-self:center}.prediction-topbar span{background:var(--gold);border-radius:3px;color:var(--plum);font-family:var(--sans);font-size:9px;font-weight:900;margin-right:6px;padding:2px 5px}.pain-prediction-screen>.micro,.prediction-forecast .micro,.prediction-plan .micro{color:#e5b894}.pain-prediction-screen h1{color:var(--cream);font-size:30px;line-height:.96;margin-top:10px}.pain-prediction-screen h1 em{color:#e5b894}.prediction-confidence{background:#ffffff1f;border:1px solid rgba(255,255,255,.14);border-radius:16px;margin-top:18px;padding:18px}.prediction-confidence>div{align-items:end;display:flex;justify-content:space-between}.prediction-confidence span{color:#e5b894;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.prediction-confidence strong{color:#e5b894;font-family:var(--serif);font-size:36px;font-weight:400;line-height:.9}.prediction-confidence i{background:linear-gradient(90deg,#e5b894 0,#e5b894 89%,#faf5ee33 89%);border-radius:999px;display:block;height:5px;margin-top:14px}.prediction-confidence p{color:#faf5eeb8;font-size:11px;line-height:1.45;margin:12px 0 0}.prediction-forecast{margin-top:20px}.prediction-bars{align-items:end;display:grid;gap:9px;grid-template-columns:repeat(7,1fr);height:118px;margin-top:16px}.prediction-bars b{background:#d9b893;border-radius:4px;color:#faf5eec7;position:relative}.prediction-bars b.calm{background:var(--sage)}.prediction-bars b.warm{background:#c18a3c}.prediction-bars b.peak{background:var(--terracotta)}.prediction-bars small{color:#faf5eedb;font-size:9px;left:50%;position:absolute;top:-18px;transform:translate(-50%);white-space:nowrap}.prediction-bars span{bottom:-22px;color:#faf5eeb8;font-size:10px;left:50%;position:absolute;transform:translate(-50%)}.prediction-plan{display:grid;gap:10px;margin-top:42px}.prediction-plan button{align-items:center;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:var(--cream);display:grid;gap:10px;grid-template-columns:42px 1fr auto;min-height:58px;padding:10px 14px 10px 12px;text-align:left}.prediction-plan button>span{background:#e5b8942e;border-radius:10px;color:#e5b894;font-size:11px;font-weight:800;padding:10px 0;text-align:center}.prediction-plan strong{font-family:var(--serif);font-size:14px;font-weight:400}.backbar{justify-content:flex-start;gap:12px;margin-bottom:24px}.bubble-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}.bubble-grid button{min-height:94px;font-weight:700}.bubble-grid .selected{background:var(--terracotta);color:#fff}.prediction-strip{background:#fff;border:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px}.insight-card{width:100%;min-height:134px;padding:18px;margin-top:14px}.insight-card span{color:var(--sage);font-size:11px;font-weight:800;text-transform:uppercase}.insight-card small{color:var(--terracotta)}.article-hero{min-height:430px;background:#fff9;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.moon-orb{width:92px;height:92px;background:var(--blush);color:var(--plum);border-radius:999px;display:grid;place-items:center;margin-bottom:22px}.dark-screen{background:radial-gradient(circle at top,#6a354f,var(--plum-2));color:var(--cream)}.dark-screen .lead,.dark-screen .hint{color:#faf5eec2}.dark-screen .article-hero{background:#ffffff14;border-color:#ffffff1f}.profile-card{background:#fff;display:grid;place-items:center;gap:5px}.profile-card small{color:var(--ink-soft)}.persona-select{width:100%;margin-top:14px;min-height:48px;border-radius:16px;border:1px solid var(--line);padding:0 14px;background:#fff;color:var(--plum)}.settings-list{display:grid;gap:10px;margin-top:16px}.settings-list button{min-height:54px;padding:0 16px;display:flex;align-items:center;gap:10px;font-weight:700}.feedback-fab{align-items:center;background:var(--plum);border:1px solid rgba(255,255,255,.5);border-radius:999px;bottom:98px;box-shadow:0 12px 30px #3d1f2f38;color:var(--cream);display:inline-flex;height:46px;justify-content:center;padding:0;position:fixed;right:calc(50% - min(215px,50vw) + 20px);width:46px;z-index:55}.feedback-overlay{align-items:end;background:#3d1f2f4d;display:grid;top:0;right:0;bottom:0;left:0;padding:18px;position:fixed;z-index:90}.feedback-sheet{background:radial-gradient(circle at 100% 0%,rgba(232,195,179,.52),transparent 38%),var(--cream);border:1px solid var(--line);border-radius:26px;box-shadow:0 22px 70px #3d1f2f3d;color:var(--plum);display:grid;gap:14px;margin:0 auto;max-width:392px;padding:20px;width:100%}.feedback-sheet header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.feedback-sheet h2{font-size:28px;margin-top:5px}.feedback-sheet header button{align-items:center;background:transparent;color:var(--plum);display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.feedback-options{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.feedback-options button{background:#ffffffb8;border:1px solid var(--line);border-radius:999px;color:var(--plum);font-size:12px;font-weight:800;min-height:38px}.feedback-options button.selected{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.feedback-sheet label{color:var(--terracotta);display:grid;font-size:10px;font-weight:800;gap:8px;letter-spacing:.12em;text-transform:uppercase}.feedback-sheet textarea{background:#ffffffb8;border:1px solid var(--line);border-radius:18px;color:var(--plum);font:500 14px/1.45 var(--sans);min-height:118px;outline:0;padding:14px;resize:vertical;text-transform:none}.feedback-sheet textarea:focus{border-color:#c4634a73;box-shadow:0 0 0 4px #c4634a1a}.feedback-status{color:var(--ink-soft);font-size:12px;line-height:1.4;margin:0}.feedback-sheet .primary{margin-top:0;min-height:52px}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);width:min(398px,calc(100vw - 32px));bottom:18px;height:68px;background:#ffffffd6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:26px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;box-shadow:0 16px 40px #3d1f2f21;z-index:50}.bottom-nav button{background:transparent;color:var(--ink-soft);display:grid;justify-items:center;gap:2px;min-width:0}.bottom-nav span{font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav .active{color:var(--terracotta)}.bottom-nav .fab svg{width:38px;height:38px;padding:10px;background:var(--plum);color:var(--cream);border-radius:999px;margin-top:-18px}.m2m-screen header button:has(>svg:only-child),.m2m-screen .topbar button:has(>svg:only-child),.m2m-screen .backbar button:has(>svg:only-child),.m2m-screen .log-header button:has(>svg:only-child),.m2m-screen .clinical-deep-header button:has(>svg:only-child),.m2m-screen .practice-header button:has(>svg:only-child),.m2m-screen .weekly-header button:has(>svg:only-child),.m2m-screen .learn-header button:has(>svg:only-child),.m2m-screen .care-header button:has(>svg:only-child),.m2m-screen .profile-header button:has(>svg:only-child),.m2m-screen .privacy-center-header button:has(>svg:only-child),.m2m-screen .premium-header button:has(>svg:only-child),.m2m-screen .prediction-topbar button:has(>svg:only-child){align-items:center;background:transparent;border:0;border-radius:0;box-shadow:none;color:currentColor;display:inline-flex;height:36px;justify-content:center;padding:0;width:36px}.m2m-screen header button:has(>svg:only-child) svg,.m2m-screen .topbar button:has(>svg:only-child) svg,.m2m-screen .backbar button:has(>svg:only-child) svg{stroke-width:2}@media(min-width:560px)and (max-width:767px){.phone-shell{height:min(874px,calc(100dvh - 48px));border-radius:36px;margin:24px}.m2m-screen{height:min(874px,calc(100dvh - 48px))}}@media(max-width:767px){.m2m-app{min-height:100dvh;overflow:visible}.m2m-app .phone-shell,.m2m-app .m2m-screen{height:auto;min-height:100dvh;overflow:visible}}@media(min-width:768px){.m2m-app{min-height:100vh;padding:0}.phone-shell{width:min(100vw,430px);height:100vh;height:100dvh;border-radius:0}.m2m-screen{height:100vh;height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 22px 104px}}@media(min-width:1120px){.m2m-app{padding:0}.phone-shell{width:min(100vw,430px);height:100vh;height:100dvh}.m2m-screen{height:100vh;height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 22px 104px}}.mobile-splash,.mobile-onboarding,.auth-page{background:radial-gradient(circle at 18% 12%,rgba(196,99,74,.16),transparent 28%),radial-gradient(circle at 82% 18%,rgba(138,154,123,.2),transparent 26%),linear-gradient(135deg,var(--cream) 0%,var(--blush) 52%,var(--cream-2) 100%);color:var(--plum);font-family:var(--sans)}.mobile-onboarding{display:grid;min-height:100vh;min-height:100dvh;overflow:hidden;padding:0;place-items:center}.mobile-splash{display:grid;overflow:hidden;padding:0;place-items:center;position:fixed;top:0;right:0;bottom:0;left:0;min-height:100svh;min-height:100dvh}.splash-shell{background:radial-gradient(circle at 50% 22%,rgba(242,217,206,.88),transparent 42%),var(--cream);box-shadow:none;height:100svh;height:100dvh;min-height:100svh;min-height:100dvh;width:100vw}.splash-screen{align-items:center;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:100%;padding-bottom:54px;text-align:center}.mobile-splash-logo-wrap{background:#faf5eec7;border:1px solid rgba(61,31,47,.1);border-radius:999px;box-shadow:0 28px 70px #3d1f2f24;display:grid;height:clamp(180px,44vw,230px);margin-bottom:26px;place-items:center;width:clamp(180px,44vw,230px)}.mobile-splash-logo{border:4px solid rgba(255,255,255,.76);border-radius:999px;box-shadow:0 14px 34px #c4634a2e;height:clamp(150px,36vw,196px);object-fit:cover;width:clamp(150px,36vw,196px)}.splash-screen h1{color:var(--plum);font-family:var(--serif);font-size:62px;font-weight:400;line-height:.9;margin-top:8px}.splash-screen .lead{margin-top:14px}.mobile-onboarding-visual{background:linear-gradient(180deg,#faf5ee1f,#faf5ee94),radial-gradient(circle at 50% 12%,rgba(255,255,255,.45),transparent 28%);display:grid;height:100vh;height:100dvh;overflow:hidden;position:relative;width:min(100vw,430px)}.mobile-onboarding-image{display:block;height:100%;object-fit:cover;object-position:center center;width:100%}.mobile-onboarding-minimal-copy{padding-left:22px;padding-right:22px}.mobile-onboarding-minimal-copy p{color:var(--terracotta);font-size:10px;letter-spacing:.14em}.mobile-onboarding-minimal-copy h1{color:var(--plum);font-family:var(--serif);font-size:clamp(34px,8vw,52px);font-weight:400;letter-spacing:-.01em}.mobile-onboarding-actions{bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;padding:0;position:absolute;transform:translate(-50%);width:min(332px,calc(100vw - 44px));z-index:3}.mobile-onboarding-actions button,.mobile-onboarding-primary{border-radius:999px}.mobile-onboarding-primary{background:var(--plum);color:var(--cream);font-weight:700;min-height:52px;width:100%}.mobile-onboarding-dots{display:flex;gap:6px;justify-content:center;margin:10px 0 2px}.mobile-onboarding-dots i{background:#3d1f2f3d;border-radius:999px;height:6px;width:6px}.mobile-onboarding-dots .active{background:var(--plum);width:22px}.auth-page{align-items:center;display:grid;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden;padding:0;place-items:center}.auth-shell{background:radial-gradient(circle at 78% 18%,rgba(242,217,206,.9),transparent 36%),radial-gradient(circle at 12% 8%,rgba(196,99,74,.08),transparent 30%),var(--cream);height:100vh;height:100dvh;width:min(100vw,430px)}.auth-screen{display:flex;flex-direction:column;font-family:var(--sans)}.auth-brand-row{align-items:center;display:flex;gap:10px;margin-bottom:28px}.auth-brand-row img{border:2px solid rgba(255,255,255,.82);border-radius:999px;box-shadow:0 10px 22px #3d1f2f1a;height:42px;object-fit:cover;width:42px}.auth-brand-row span{color:var(--plum);font-family:var(--serif);font-size:24px}.auth-screen h1{color:var(--plum);font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:0;line-height:1.05;max-width:360px}.auth-screen h1 em{color:var(--terracotta)}.auth-lead{color:var(--ink-soft);font-family:var(--sans);font-size:13.5px;font-weight:500;line-height:1.55;margin-left:0;margin-right:0;max-width:330px}.auth-form{gap:12px}.auth-panel,.auth-secondary-panel{background:#ffffffa8;border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 34px #3d1f2f12;margin-top:20px;padding:16px}.auth-panel{display:grid}.auth-secondary-panel{margin-top:12px}.auth-secondary-panel .social-login{margin-top:0}.auth-secondary-panel .social-login-buttons{justify-items:center}.auth-secondary-panel .google-login-button,.auth-secondary-panel .google-login-native,.auth-secondary-panel .google-login-fallback{max-width:240px;width:min(240px,100%)}.auth-secondary-panel .google-login-native{display:flex;justify-content:center;min-height:42px;overflow:hidden}.auth-secondary-panel .google-login-native.is-disabled{opacity:.58;pointer-events:none}.auth-secondary-panel .google-login-fallback{background:var(--plum);border:1px solid var(--plum);border-radius:999px;box-shadow:0 12px 26px #3d1f2f2e;color:var(--cream);font-family:var(--sans);font-size:13px;font-weight:800;gap:10px;height:42px}.auth-secondary-panel .google-login-mark{align-items:center;background:var(--cream);border-radius:999px;color:var(--gold);display:inline-flex;height:24px;justify-content:center;width:24px}.auth-panel .field{color:var(--plum);display:grid;font-family:var(--sans);font-size:10px;font-weight:900;gap:7px;letter-spacing:.12em;position:relative;text-transform:uppercase}.auth-panel .input{background:#ffffffc7;border:1px solid var(--line);border-radius:16px;color:var(--plum);font-family:var(--sans);font-size:14px;font-weight:700;height:52px;letter-spacing:0;padding:0 16px;text-transform:none}.auth-panel .input::placeholder{color:#3d1f2f6b;font-family:var(--sans);font-weight:700}.auth-panel .input:focus{border-color:#c4634ab3;box-shadow:0 0 0 4px #c4634a1f;outline:none}.password-field .input{padding-right:48px}.password-toggle{align-items:center;background:transparent;color:var(--ink-soft);display:inline-flex;height:28px;justify-content:center;position:absolute;right:14px;top:32px;width:28px}.auth-submit{border:0;font-family:var(--sans);font-size:14px;font-weight:900;height:52px;letter-spacing:0;margin-top:6px}.auth-submit:hover{background:var(--plum-2);border-color:var(--plum-2)}.auth-error{background:#c4634a1a;border:1px solid rgba(196,99,74,.18);border-radius:14px;color:var(--terracotta)}.auth-divider{color:var(--ink-soft);gap:12px;margin:0 0 12px}.auth-divider:before,.auth-divider:after{background:var(--line)}.google-login-fallback,.facebook-login-button{background:#ffffffc7;border:1px solid var(--line);border-radius:999px;color:var(--plum);font-weight:700;height:50px;width:100%}.google-login-mark{background:var(--cream-2);color:var(--terracotta)}.auth-secondary-panel .google-login-button,.auth-secondary-panel .google-login-native,.auth-secondary-panel .google-login-fallback{width:min(240px,100%)}.auth-secondary-panel .google-login-fallback{background:var(--plum);border-color:var(--plum);box-shadow:0 12px 26px #3d1f2f2e;color:var(--cream)}.auth-secondary-panel .google-login-mark{color:var(--gold)}.auth-switch-link{color:var(--terracotta);display:block;font-weight:700;margin-top:14px;text-align:center}@media(min-width:768px){.splash-shell,.auth-shell{border-radius:0;box-shadow:0 28px 80px #3d1f2f2e;height:100vh;height:100dvh;margin:0;min-height:100vh;min-height:100dvh;width:min(100vw,430px)}.splash-screen,.auth-screen{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh}.auth-screen{justify-content:flex-start;margin:0;max-width:none;overflow-y:auto;padding:44px 22px 28px;width:auto}.mobile-onboarding-visual{background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.48),transparent 30%),linear-gradient(135deg,var(--cream),var(--blush) 55%,var(--cream-2));width:min(100vw,430px)}}@media(max-width:767px){.auth-shell{width:min(100vw,430px)}}@media(max-width:560px){.auth-page{height:100dvh;min-height:100dvh;overflow:hidden;padding:0}.auth-shell{border-radius:0;height:100dvh;width:100vw}.auth-screen{height:100dvh;overflow-y:auto;padding:44px 22px 28px}.auth-brand-row{margin-bottom:20px}.auth-screen h1{font-size:36px}.auth-lead{font-size:13px}.auth-panel .input,.auth-submit,.google-login-fallback,.facebook-login-button{height:46px}}.food-scan-page{background:radial-gradient(circle at 50% 0%,rgba(242,217,206,.72),transparent 42%),linear-gradient(180deg,var(--cream) 0%,#f1dfd3 100%);box-sizing:border-box;color:var(--plum);font-family:var(--sans);align-content:start;gap:10px;margin:0 auto;min-height:100vh;min-height:100dvh;max-width:430px;overflow-x:hidden;padding:calc(16px + env(safe-area-inset-top,0px)) 18px 28px;width:min(100vw,430px)}.food-scan-card,.food-scan-actions-card{background:#ffffffb3;border:1px solid var(--line);border-radius:18px;box-shadow:none;display:grid;gap:10px;padding:14px}.food-scan-form{align-content:start;gap:12px;min-height:0;padding:14px}.food-scan-form label,.food-scan-modal label{display:grid;gap:7px;margin:0;min-height:0}.food-scan-header h1,.food-scan-card h1,.food-scan-card h2,.food-scan-modal h2,.food-scan-result-title h2{color:var(--plum);font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:0;line-height:1.05;margin:0}.food-scan-header p,.food-scan-card p,.food-scan-modal p{color:var(--ink-soft);font-size:12.5px;line-height:1.5}.food-scan-result-title{align-items:flex-start;gap:12px}.food-scan-result-title small{background:#faf5eee6;border-radius:999px;color:var(--ink-soft);display:inline-block;font-size:10.5px;margin-top:8px;padding:6px 9px}.food-scan-result-title em{background:#c4634a1f;border-radius:999px;color:var(--terracotta);font-size:10px;font-style:normal;font-weight:800;letter-spacing:.08em;padding:7px 10px;text-transform:uppercase}.food-scan-food-list{gap:9px}.food-scan-food-list article{background:#faf5eeb8;border:1px solid var(--line);border-radius:16px;color:var(--plum);padding:13px}.food-scan-food-list h3{color:var(--plum);font-size:14px;font-weight:800;margin:0}.food-scan-food-list p{color:var(--terracotta);font-size:9px;font-weight:900;letter-spacing:.12em;margin:5px 0;text-transform:uppercase}.food-scan-food-list small{color:var(--ink-soft);font-size:11.5px}.food-scan-food-list button,.food-scan-modal header button,.food-scan-icon-button,.food-scan-secondary-icon-button{background:transparent;border-radius:999px;color:var(--terracotta);height:34px;width:34px}.food-scan-food-list button:last-child{background:#c4634a1a;color:var(--terracotta)}.food-scan-metric-grid{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.food-scan-metric-grid div{background:#faf5eebd;border:1px solid var(--line);border-radius:14px;padding:12px}.food-scan-metric-grid span,.food-scan-form label>span,.food-scan-modal label>span{color:var(--terracotta);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.food-scan-metric-grid strong{color:var(--plum);font-family:var(--serif);font-size:24px;font-weight:400}.food-scan-form select,.food-scan-form textarea,.food-scan-modal input{background:#faf5eed1;border:1px solid var(--line);border-radius:16px;color:var(--plum);font:500 14px/1.4 var(--sans);padding:0 14px;width:100%}.food-scan-form select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;height:50px;min-height:0}.food-scan-form textarea{height:140px;min-height:0;padding:12px 14px;resize:none}.food-scan-preview-card img{aspect-ratio:4 / 3.4;border-radius:16px}.food-scan-compact-card{gap:12px;padding:14px}.food-scan-primary-button,.food-scan-secondary-button{align-self:stretch;border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:900;height:50px;min-height:0;padding:0 18px;width:100%}.food-scan-primary-button{background:var(--plum);color:var(--cream)}.food-scan-primary-button:disabled{background:#3d1f2f47;color:#faf5eee6}.food-scan-secondary-button{background:#ffffff94;border:1px solid var(--line);color:var(--plum)}.food-scan-alert{background:#c4634a1f;border:1px solid rgba(196,99,74,.18);border-radius:14px;color:var(--terracotta)}.food-scan-actions-card{background:#ffffff94;position:sticky;bottom:0}.food-scan-confirmation{align-content:center;min-height:calc(100dvh - 44px);text-align:center}.food-scan-confirmation>span{background:#c4634a1f;color:var(--terracotta)}.food-scan-camera-frame{border-radius:22px;box-shadow:none}.food-scan-camera-frame>div{border-radius:22px}.food-scan-camera-actions{gap:10px}.trainer-page{background:radial-gradient(circle at 50% 0%,rgba(229,184,148,.24),transparent 34%),linear-gradient(180deg,var(--cream) 0%,#f1dfd3 100%);box-sizing:border-box;color:var(--plum);display:grid;font-family:var(--sans);gap:10px;margin:0 auto;min-height:100vh;min-height:100dvh;max-width:430px;overflow-x:hidden;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 24px;width:min(100vw,430px)}.trainer-page-header{align-items:center;display:grid;grid-template-columns:34px 1fr 34px;min-height:38px}.trainer-page-header button{align-items:center;background:transparent;color:var(--plum);display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.trainer-page-header strong{color:var(--plum);font-family:var(--serif);font-size:20px;font-weight:400;justify-self:center}.trainer-exercise-grid{display:grid;gap:10px;grid-template-columns:1fr}.trainer-exercise-card,.trainer-result-card,.trainer-session-shell{background:#ffffffb8;border:1px solid var(--line);border-radius:18px;box-shadow:none;color:var(--plum)}.trainer-exercise-card{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;padding:13px;text-align:left}.trainer-exercise-card:hover,.trainer-exercise-card:focus-visible{border-color:#c4634a3d;box-shadow:none;transform:none}.trainer-exercise-icon{background:#c4634a1a;border-radius:14px;color:var(--terracotta);height:42px;width:42px}.trainer-exercise-icon.is-assessment,.trainer-exercise-icon.is-challenge{background:#c4634a1a;color:var(--terracotta)}.trainer-exercise-card strong{color:var(--plum);display:block;font-size:14px;font-weight:900;line-height:1.18;margin:0 0 4px}.trainer-exercise-card small{color:var(--ink-soft);display:block;font-size:11.5px;line-height:1.35}.trainer-exercise-card em{background:#c4634a1a;border-radius:999px;color:var(--terracotta);font-size:9px;font-style:normal;font-weight:900;letter-spacing:.08em;padding:6px 8px;text-transform:uppercase}.trainer-exercise-card i{color:var(--ink-soft);display:flex;font-size:10.5px;gap:5px;grid-column:2 / 4}.trainer-alert{background:#c4634a1f;border:1px solid rgba(196,99,74,.18);border-radius:14px;color:var(--terracotta);font-size:12px;margin:0;padding:10px 12px}.trainer-result-card{padding:13px}.trainer-session-modal{background:#3d1f2f6b;top:0;right:0;bottom:0;left:0;padding:14px;position:fixed;z-index:80}.trainer-session-shell{border-radius:24px;height:calc(100dvh - 28px);margin:0 auto;max-width:430px;overflow:hidden;padding:12px}.trainer-session-shell header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;padding:4px 4px 10px}.trainer-session-shell header p{color:var(--terracotta);font-size:10px;font-weight:900;letter-spacing:.12em;margin:0 0 5px;text-transform:uppercase}.trainer-session-shell header h2{color:var(--plum);font-family:var(--serif);font-size:25px;font-weight:400;line-height:1;margin:0}.trainer-session-shell header span{color:var(--ink-soft);font-size:11.5px;line-height:1.35;margin-top:6px}.trainer-session-shell header button{background:transparent;color:var(--plum);height:34px;width:34px}.trainer-frame-wrap,.trainer-frame{border-radius:18px;height:calc(100dvh - 132px);min-height:0}
