@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ll-primary: #00696f;--ll-on-primary: #ffffff;--ll-primary-container: #9df0f7;--ll-on-primary-container: #004f54;--ll-secondary: #4a6365;--ll-on-secondary: #ffffff;--ll-secondary-container: #cce8ea;--ll-on-secondary-container: #324b4d;--ll-tertiary: #4f5f7d;--ll-on-tertiary: #ffffff;--ll-tertiary-container: #d6e3ff;--ll-on-tertiary-container: #374764;--ll-error: #ba1a1a;--ll-on-error: #ffffff;--ll-error-container: #ffdad6;--ll-on-error-container: #93000a;--ll-surface: #f4fafb;--ll-on-surface: #161d1d;--ll-surface-container-lowest: #ffffff;--ll-surface-container-low: #eff5f5;--ll-surface-container: #e9efef;--ll-surface-container-high: #e3e9e9;--ll-surface-container-highest: #dde4e4;--ll-surface-dim: #d5dbdb;--ll-surface-bright: #f4fafb;--ll-surface-tint: #00696f;--ll-on-surface-variant: #3f4849;--ll-outline: #6f797a;--ll-outline-variant: #bec8c9;--ll-inverse-surface: #2b3232;--ll-on-inverse-surface: #ecf2f2;--ll-inverse-primary: #80d4db;--ll-scrim: #000000;--ll-shadow: #000000}:root{--ll-cal-flow-spotting: #53979a;--ll-cal-flow-light: #2e7e83;--ll-cal-flow-medium: #186b6f;--ll-cal-flow-heavy: #07575c;--ll-cal-on-flow-spotting: #000000;--ll-cal-on-flow-light: #ffffff;--ll-cal-on-flow-medium: #ffffff;--ll-cal-on-flow-heavy: #ffffff;--ll-cal-symptom-dot: #6b8fd4;--ll-cal-symptom-layer-1: #ba6dd4;--ll-cal-symptom-layer-2: #279c90;--ll-cal-symptom-layer-3: #d36899;--ll-cal-predicted-border: #459ca0;--ll-cal-fertile-border: #a880be;--ll-cal-pms-badge: #9b7bd9;--ll-cal-cramps-badge: #b3841d;--ll-cal-confidence-high: #3da162;--ll-cal-confidence-learning: #bb8528;--ll-cal-confidence-irregular: #d97166;--ll-cal-confidence-provisional: #6b91c7}@media(prefers-color-scheme:dark){:root{--ll-primary: #80d4db;--ll-on-primary: #00363a;--ll-primary-container: #004f54;--ll-on-primary-container: #9df0f7;--ll-secondary: #b1cbce;--ll-on-secondary: #1b3436;--ll-secondary-container: #324b4d;--ll-on-secondary-container: #cce8ea;--ll-tertiary: #b7c7ea;--ll-on-tertiary: #20304c;--ll-tertiary-container: #374764;--ll-on-tertiary-container: #d6e3ff;--ll-error: #ffb4ab;--ll-on-error: #690005;--ll-error-container: #93000a;--ll-on-error-container: #ffdad6;--ll-surface: #0e1415;--ll-on-surface: #dde4e4;--ll-surface-container-lowest: #090f10;--ll-surface-container-low: #161d1d;--ll-surface-container: #1a2121;--ll-surface-container-high: #252b2c;--ll-surface-container-highest: #303636;--ll-surface-dim: #0e1415;--ll-surface-bright: #343a3b;--ll-surface-tint: #80d4db;--ll-on-surface-variant: #bec8c9;--ll-outline: #899393;--ll-outline-variant: #3f4849;--ll-inverse-surface: #dde4e4;--ll-on-inverse-surface: #2b3232;--ll-inverse-primary: #00696f;--ll-scrim: #000000;--ll-shadow: #000000}:root{--ll-cal-flow-spotting: #3e7074;--ll-cal-flow-light: #348b93;--ll-cal-flow-medium: #25a4af;--ll-cal-flow-heavy: #11becc;--ll-cal-on-flow-spotting: #ffffff;--ll-cal-on-flow-light: #000000;--ll-cal-on-flow-medium: #000000;--ll-cal-on-flow-heavy: #000000;--ll-cal-symptom-dot: #355eb8;--ll-cal-symptom-layer-1: #9e38bf;--ll-cal-symptom-layer-2: #1d746b;--ll-cal-symptom-layer-3: #b7356f;--ll-cal-predicted-border: #306b6f;--ll-cal-fertile-border: #804e97;--ll-cal-pms-badge: #784ecb;--ll-cal-cramps-badge: #856216;--ll-cal-confidence-high: #2a7044;--ll-cal-confidence-learning: #815b1b;--ll-cal-confidence-irregular: #af392c;--ll-cal-confidence-provisional: #3b639c}}:root{--ll-font-text: "Inter", system-ui, sans-serif;--ll-font-display: "Fraunces", serif;--ll-space-1: 4px;--ll-space-2: 8px;--ll-space-3: 12px;--ll-space-4: 16px;--ll-space-5: 24px;--ll-space-6: 32px;--ll-space-7: 48px;--ll-r-sm: 4px;--ll-r-md: 8px;--ll-r-lg: 12px;--ll-r-xl: 16px;--ll-r-full: 999px;--ll-e-0: 0px;--ll-e-1: 1px;--ll-e-2: 3px;--ll-fast-ms: .12s;--ll-base-ms: .2s;--ll-slow-ms: .32s;--ll-type-display-medium-font-size: 45px;--ll-type-display-medium-line-height: 52px;--ll-type-display-medium-font-weight: 600;--ll-type-display-medium-font-variant-numeric: tabular-nums;--ll-type-display-medium-font-family: var(--ll-font-display);--ll-type-display-small-font-size: 36px;--ll-type-display-small-line-height: 44px;--ll-type-display-small-font-weight: 600;--ll-type-display-small-font-variant-numeric: tabular-nums;--ll-type-display-small-font-family: var(--ll-font-display);--ll-type-headline-medium-font-size: 28px;--ll-type-headline-medium-line-height: 36px;--ll-type-headline-medium-font-weight: 600;--ll-type-headline-medium-letter-spacing: -.2px;--ll-type-headline-medium-font-family: var(--ll-font-display);--ll-type-headline-small-font-size: 24px;--ll-type-headline-small-line-height: 32px;--ll-type-headline-small-font-weight: 600;--ll-type-headline-small-letter-spacing: -.2px;--ll-type-headline-small-font-family: var(--ll-font-display);--ll-type-title-large-font-size: 22px;--ll-type-title-large-line-height: 28px;--ll-type-title-large-font-weight: 500;--ll-type-title-large-font-family: var(--ll-font-text);--ll-type-title-medium-font-size: 16px;--ll-type-title-medium-line-height: 24px;--ll-type-title-medium-font-weight: 500;--ll-type-title-medium-font-family: var(--ll-font-text);--ll-type-title-small-font-size: 14px;--ll-type-title-small-line-height: 20px;--ll-type-title-small-font-weight: 500;--ll-type-title-small-font-family: var(--ll-font-text);--ll-type-body-large-font-size: 16px;--ll-type-body-large-line-height: 24px;--ll-type-body-large-font-family: var(--ll-font-text);--ll-type-body-medium-font-size: 14px;--ll-type-body-medium-line-height: 20px;--ll-type-body-medium-font-family: var(--ll-font-text);--ll-type-body-small-font-size: 12px;--ll-type-body-small-line-height: 16px;--ll-type-body-small-font-family: var(--ll-font-text);--ll-type-label-large-font-size: 14px;--ll-type-label-large-line-height: 20px;--ll-type-label-large-font-weight: 500;--ll-type-label-large-letter-spacing: .1px;--ll-type-label-large-font-family: var(--ll-font-text);--ll-type-label-medium-font-size: 12px;--ll-type-label-medium-line-height: 16px;--ll-type-label-medium-font-weight: 500;--ll-type-label-medium-letter-spacing: .4px;--ll-type-label-medium-font-family: var(--ll-font-text);--ll-type-label-small-font-size: 11px;--ll-type-label-small-line-height: 16px;--ll-type-label-small-font-weight: 500;--ll-type-label-small-letter-spacing: .4px;--ll-type-label-small-font-family: var(--ll-font-text)}:root{color-scheme:light dark;accent-color:var(--ll-primary)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}html{scroll-padding-bottom:6rem}body{font-family:var(--ll-font-text);font-size:var(--ll-type-body-medium-font-size);line-height:var(--ll-type-body-medium-line-height);background:var(--ll-surface);color:var(--ll-on-surface)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--ll-space-1) var(--ll-space-4);background:var(--ll-surface-container);border-bottom:1px solid var(--ll-outline-variant)}.brand{font-family:var(--ll-font-display);font-size:var(--ll-type-title-large-font-size);line-height:var(--ll-type-title-large-line-height);font-weight:var(--ll-type-title-large-font-weight)}.brand{display:inline-flex;align-items:center;gap:var(--ll-space-2);min-height:2.75rem;color:inherit;text-decoration:none;border-radius:var(--ll-r-sm)}.brand:focus-visible{outline:2px solid var(--ll-primary);outline-offset:2px}.brand:before{content:"";width:1.75rem;height:1.75rem;border-radius:var(--ll-r-sm);background:url(/brand-mark.png) center / contain no-repeat}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;min-width:2.75rem;color:var(--ll-primary);text-decoration:none;padding:var(--ll-space-1) var(--ll-space-3);border-radius:var(--ll-r-md)}.nav-link:hover{background:var(--ll-surface-container-high)}.nav-link:focus-visible{outline:2px solid var(--ll-primary)}.page{width:100%;max-width:40rem;margin:0 auto;padding:var(--ll-space-5) var(--ll-space-4)}.display{font-family:var(--ll-font-display);font-size:var(--ll-type-headline-medium-font-size);line-height:var(--ll-type-headline-medium-line-height);font-weight:var(--ll-type-headline-medium-font-weight);letter-spacing:var(--ll-type-headline-medium-letter-spacing)}.headline{font-size:var(--ll-type-title-large-font-size);line-height:var(--ll-type-title-large-line-height);font-weight:var(--ll-type-title-large-font-weight)}.body{font-size:var(--ll-type-body-large-font-size);line-height:var(--ll-type-body-large-line-height)}.welcome{padding-top:var(--ll-space-7)}.welcome-title{margin:0;font-family:var(--ll-font-display);font-size:var(--ll-type-display-small-font-size);line-height:var(--ll-type-display-small-line-height);font-weight:var(--ll-type-display-small-font-weight);color:var(--ll-primary)}.welcome-lead{margin:var(--ll-space-3) 0 0;max-width:34rem;font-size:var(--ll-type-body-large-font-size);line-height:var(--ll-type-body-large-line-height)}.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ll-space-2) var(--ll-space-3);margin-top:var(--ll-space-5)}.welcome-actions .btn{text-decoration:none;padding:var(--ll-space-2) var(--ll-space-5)}.welcome-note{margin:var(--ll-space-6) 0 0;padding-top:var(--ll-space-4);max-width:34rem;border-top:1px solid var(--ll-outline-variant);color:var(--ll-on-surface-variant)}.card{margin-top:var(--ll-space-4);padding:var(--ll-space-4);background:var(--ll-surface-container-low);border-radius:var(--ll-r-lg);box-shadow:0 var(--ll-e-1) var(--ll-e-1) var(--ll-shadow)}.card-title{margin:0 0 var(--ll-space-1);font-size:var(--ll-type-title-medium-font-size);line-height:var(--ll-type-title-medium-line-height);font-weight:var(--ll-type-title-medium-font-weight)}.card-body{margin:0;color:var(--ll-on-surface-variant)}.profile-list{margin:var(--ll-space-4) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--ll-space-2)}.profile-list li{padding:var(--ll-space-2) var(--ll-space-3);background:var(--ll-surface-container);border-radius:var(--ll-r-md)}.profile-link{display:block}.actions{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center;justify-content:flex-end;margin-top:var(--ll-space-4)}.button{font:inherit;min-height:2.75rem;min-width:2.75rem;padding:var(--ll-space-2) var(--ll-space-4);border:1px solid var(--ll-primary);border-radius:var(--ll-r-full);background:var(--ll-primary);color:var(--ll-on-primary);cursor:pointer}.button:disabled{opacity:.5;cursor:default}.day-group{border:1px solid var(--ll-outline-variant);margin-top:var(--ll-space-4)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--ll-space-4) var(--ll-space-2);margin-top:var(--ll-space-2)}.chip-row+.chip-row{margin-top:var(--ll-space-4)}.chip{position:relative;min-width:2.75rem;border:1px solid var(--ll-outline);background:var(--ll-surface);color:var(--ll-on-surface);border-radius:var(--ll-r-full);padding:var(--ll-space-1) var(--ll-space-3);font:inherit;cursor:pointer}.chip:after{content:"";position:absolute;inset:calc(-1 * var(--ll-space-2)) 0}.chip-selected{background:var(--ll-primary);border-color:var(--ll-primary);color:var(--ll-on-primary)}.chip:focus-visible{outline:2px solid var(--ll-primary)}.tag-category{margin-top:var(--ll-space-3)}.tag-category-label{margin:0;font-size:var(--ll-type-label-large-font-size);line-height:var(--ll-type-label-large-line-height);font-weight:var(--ll-type-label-large-font-weight);color:var(--ll-on-surface-variant)}.tag-search{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center;margin-top:var(--ll-space-2)}.tag-search input{flex:1 1 12rem;min-width:0;min-height:2.75rem;font:inherit;padding:var(--ll-space-2) var(--ll-space-3);border:1px solid var(--ll-outline);border-radius:var(--ll-r-full);background:var(--ll-surface-container-lowest);color:var(--ll-on-surface)}.tag-sections{margin-top:var(--ll-space-3)}.tag-section{border-top:1px solid var(--ll-outline-variant)}.tag-section-heading{margin:0;font-size:inherit;line-height:inherit;font-weight:var(--ll-type-label-large-font-weight)}.tag-section-toggle,.tag-section-static{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0;font:inherit;text-align:start;color:var(--ll-on-surface)}.tag-section-toggle{border:0;background:none;cursor:pointer}.tag-section-toggle:after{content:"";flex:none;width:.5rem;height:.5rem;margin-inline:var(--ll-space-2);border-right:2px solid var(--ll-on-surface-variant);border-bottom:2px solid var(--ll-on-surface-variant);transform:translateY(-25%) rotate(45deg)}.tag-section-toggle[aria-expanded=true]:after{transform:translateY(25%) rotate(-135deg)}.tag-section-toggle:focus-visible{outline:2px solid var(--ll-primary);outline-offset:2px;border-radius:var(--ll-r-sm)}.tag-section-panel{padding-bottom:var(--ll-space-3)}.field-label{display:block;margin-top:var(--ll-space-3)}.field-input{display:block;width:100%;min-height:2.75rem;margin-top:var(--ll-space-1);padding:var(--ll-space-2);font:inherit;color:var(--ll-on-surface);background:var(--ll-surface);border:1px solid var(--ll-outline);border-radius:var(--ll-r-md)}.field-error{margin:var(--ll-space-2) 0 0;color:var(--ll-error)}.field-hint{margin:var(--ll-space-2) 0 0;color:var(--ll-on-surface-variant)}.toggle{display:flex;align-items:center;gap:var(--ll-space-2);margin-top:var(--ll-space-2)}.day-actions{display:flex;align-items:center;gap:var(--ll-space-3);margin-top:var(--ll-space-4);position:sticky;bottom:var(--ll-space-3);z-index:1;background:var(--ll-surface-container-high)}.save-button{font:inherit;min-height:2.75rem;min-width:2.75rem;padding:var(--ll-space-2) var(--ll-space-5);border:none;border-radius:var(--ll-r-full);background:var(--ll-primary);color:var(--ll-on-primary);cursor:pointer}.save-button:disabled{opacity:.5;cursor:default}.save-status{color:var(--ll-on-surface-variant)}.button.secondary{background:transparent;color:var(--ll-primary)}.button.danger{background:transparent;border-color:var(--ll-error);color:var(--ll-error)}.field{display:flex;flex-direction:column;gap:var(--ll-space-1);margin-top:var(--ll-space-3)}.field label{color:var(--ll-on-surface-variant)}.field input,.field select,.field textarea{min-height:2.75rem;font:inherit;padding:var(--ll-space-2);border:1px solid var(--ll-outline);border-radius:var(--ll-r-md);background:var(--ll-surface-container-lowest);color:var(--ll-on-surface)}.field textarea{resize:vertical;min-height:4rem}.row-list{display:flex;flex-direction:column;gap:var(--ll-space-2);margin:var(--ll-space-3) 0 0;padding:0;list-style:none}.row{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center;justify-content:space-between;padding:var(--ll-space-3);background:var(--ll-surface-container);border-radius:var(--ll-r-md)}.row-main{display:flex;flex-direction:column;gap:var(--ll-space-1);min-width:0}.row-confirming{justify-content:flex-start}.row-confirming .row-main{flex-basis:100%}.row-title{margin:0;font-weight:var(--ll-type-title-medium-font-weight, 500)}.row select{min-height:2.75rem;font:inherit;padding:var(--ll-space-2) var(--ll-space-3);border:1px solid var(--ll-outline);border-radius:var(--ll-r-full);background:var(--ll-surface-container-lowest);color:var(--ll-on-surface)}.section-title{margin:var(--ll-space-5) 0 0;font-size:var(--ll-type-title-medium-font-size);line-height:var(--ll-type-title-medium-line-height);font-weight:var(--ll-type-title-medium-font-weight)}.field-titled{margin-top:0}.field-titled label.card-title{color:var(--ll-on-surface)}.row-sub{margin:0;color:var(--ll-on-surface-variant)}.badge{display:inline-block;padding:0 var(--ll-space-2);border-radius:var(--ll-r-full);background:var(--ll-secondary-container);color:var(--ll-on-secondary-container)}.error{margin:var(--ll-space-3) 0 0;color:var(--ll-error)}.acknowledgement{margin-top:var(--ll-space-3);padding:var(--ll-space-3);background:var(--ll-surface-container-high);border-radius:var(--ll-r-lg)}.acknowledgement p{margin:0}.acknowledgement .hint{margin-top:var(--ll-space-1);color:var(--ll-on-surface-variant)}.link-display{margin-top:var(--ll-space-3);padding:var(--ll-space-3);background:var(--ll-surface-container-high);border-radius:var(--ll-r-md);overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms;animation-duration:0ms}}.page-auth{max-width:26rem}.page-auth .display{margin:0}.page-auth .auth-actions{flex-direction:column;align-items:stretch}.page-auth .auth-links{margin-top:var(--ll-space-5)}.auth-providers{margin-top:var(--ll-space-5);padding-top:var(--ll-space-5);border-top:1px solid var(--ll-outline-variant)}.auth-form{margin-top:var(--ll-space-4);display:flex;flex-direction:column;gap:var(--ll-space-3)}.auth-field{display:flex;flex-direction:column;gap:var(--ll-space-1)}.auth-field label{font-weight:var(--ll-type-title-small-font-weight, 500)}.auth-field input{min-height:2.75rem;padding:var(--ll-space-2) var(--ll-space-3);border:1px solid var(--ll-outline);border-radius:var(--ll-r-md);background:var(--ll-surface);color:var(--ll-on-surface);font:inherit}.auth-field input:focus-visible{outline:2px solid var(--ll-primary)}.auth-hint{margin:0;font-size:var(--ll-type-body-small-font-size);line-height:var(--ll-type-body-small-line-height);color:var(--ll-on-surface-variant)}.auth-error{margin:var(--ll-space-2) 0 0;color:var(--ll-error)}.auth-info{margin-top:var(--ll-space-4);padding:var(--ll-space-3);background:var(--ll-surface-container-low);border-radius:var(--ll-r-lg)}.auth-actions{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center}.auth-button{min-height:2.75rem;min-width:2.75rem;padding:var(--ll-space-2) var(--ll-space-4);border:none;border-radius:var(--ll-r-full);background:var(--ll-primary);color:var(--ll-on-primary);font:inherit;cursor:pointer}.auth-button:disabled{opacity:.6;cursor:default}.auth-button:focus-visible{outline:2px solid var(--ll-on-surface)}.auth-button-secondary{background:var(--ll-surface-container-high);color:var(--ll-on-surface);border:1px solid var(--ll-outline-variant)}.auth-links{margin-top:var(--ll-space-3);display:flex;flex-direction:column;gap:calc(2.75rem - var(--ll-type-body-medium-line-height))}.auth-links a{display:flex;align-items:center;min-height:2.75rem;margin-block:calc((var(--ll-type-body-medium-line-height) - 2.75rem) / 2);color:var(--ll-primary)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;min-width:2.75rem;font:inherit;padding:var(--ll-space-2) var(--ll-space-4);border:1px solid var(--ll-outline);border-radius:var(--ll-r-full);background:var(--ll-surface-container-high);color:var(--ll-on-surface);cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible{outline:2px solid var(--ll-on-surface)}.btn-primary{background:var(--ll-primary);color:var(--ll-on-primary);border-color:var(--ll-primary)}.btn-danger{background:var(--ll-error);color:var(--ll-on-error);border-color:var(--ll-error)}.btn-danger-quiet{background:transparent;border-color:var(--ll-error);color:var(--ll-error)}.page-back{margin:0}.page-back .nav-link,.card-body>.nav-link{margin-block:calc((var(--ll-type-body-medium-line-height) - 2.75rem) / 2)}.home-switcher{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center;margin-bottom:var(--ll-space-4)}.home-log-today{margin-left:auto;text-decoration:none;padding:var(--ll-space-2) var(--ll-space-5)}@media(max-width:30rem){.home-log-today{flex-basis:100%;margin-left:0;text-align:center;padding-top:var(--ll-space-3);padding-bottom:var(--ll-space-3)}}.home-switcher-select{min-height:2.75rem;font:inherit;padding:var(--ll-space-2) var(--ll-space-3);border:1px solid var(--ll-outline);border-radius:var(--ll-r-md);background:var(--ll-surface-container-lowest);color:var(--ll-on-surface)}.home-stack{display:flex;flex-direction:column;gap:var(--ll-space-4)}.home-phase{font-family:var(--ll-font-display);font-size:var(--ll-type-headline-medium-font-size);line-height:var(--ll-type-headline-medium-line-height);font-weight:var(--ll-type-headline-medium-font-weight);letter-spacing:var(--ll-type-headline-medium-letter-spacing);font-variant-numeric:tabular-nums;color:var(--ll-primary);margin:0 0 var(--ll-space-2)}.home-estimate{margin:0}.home-estimate-label{color:var(--ll-on-surface-variant)}.home-estimate-value{font-weight:var(--ll-type-title-small-font-weight, 500)}.home-tier,.home-overdue,.home-stale,.home-disclaimer{margin:var(--ll-space-2) 0 0;color:var(--ll-on-surface-variant)}.home-disclaimer{font-size:var(--ll-type-body-small-font-size);line-height:var(--ll-type-body-small-line-height)}.home-today-log-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--ll-space-1) var(--ll-space-3)}.home-today-log-head .card-title{margin:0}.home-today-log-edit{position:relative;margin:calc((var(--ll-type-body-medium-line-height) - 2.75rem) / 2) calc(-1 * var(--ll-space-3)) calc((var(--ll-type-body-medium-line-height) - 2.75rem) / 2) auto}.home-today-log-lines{list-style:none;margin:var(--ll-space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--ll-space-1)}.home-stats,.home-compare{display:flex;flex-wrap:wrap;gap:var(--ll-space-4);margin:0 0 var(--ll-space-3)}.home-stats dt,.home-compare dt{color:var(--ll-on-surface-variant);font-size:var(--ll-type-body-small-font-size)}.home-stats dd,.home-compare dd{margin:0;font-weight:var(--ll-type-title-small-font-weight, 500)}.home-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ll-space-2)}.cal-nav{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center;justify-content:space-between}.cal-nav-buttons{display:flex;flex-wrap:wrap;gap:var(--ll-space-2)}@media(max-width:30rem){.cal-nav-buttons .btn{padding:var(--ll-space-1) var(--ll-space-2);font-size:var(--ll-type-label-large-font-size)}}.cal-grid{margin-top:var(--ll-space-3)}.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cal-head{margin-bottom:2px}.cal-weekday{text-align:center;color:var(--ll-on-surface-variant);font-size:var(--ll-type-body-small-font-size)}.cal-cell{min-height:44px;border-radius:var(--ll-r-md);padding:2px}.cal-blank{min-height:0}.cal-head .cal-cell{min-height:0;padding-bottom:var(--ll-space-1)}.cal-day{background:var(--ll-surface-container-low)}.cal-day-link{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:40px;padding:2px 4px;border-radius:var(--ll-r-md);color:var(--ll-on-surface);text-decoration:none}.cal-day-link:focus-visible{outline:2px solid var(--ll-primary)}.cal-today{box-shadow:inset 0 0 0 2px var(--ll-primary)}.cal-spotting .cal-day-link{box-shadow:inset 0 0 0 2px var(--ll-cal-flow-spotting)}.cal-setup-period .cal-day-link{border:2px dotted var(--ll-cal-flow-medium)}.cal-predicted{background:color-mix(in srgb,var(--ll-cal-predicted-border) 16%,transparent);box-shadow:inset 0 0 0 2px var(--ll-cal-predicted-border)}.cal-fertile .cal-day-link{border:1px dashed var(--ll-cal-fertile-border)}.cal-day-number{font-size:var(--ll-type-body-small-font-size);font-variant-numeric:tabular-nums}.cal-cycle-day{font-size:var(--ll-type-body-small-font-size);color:var(--ll-on-surface-variant);font-variant-numeric:tabular-nums}.cal-marks{display:flex;gap:2px;align-items:center;min-height:8px}.cal-mark{width:6px;height:6px;border-radius:var(--ll-r-full);background:var(--ll-cal-flow-medium)}.cal-mark:nth-child(-n+2){background:var(--ll-cal-flow-light)}.cal-mark:nth-child(-n+3){background:var(--ll-cal-flow-medium)}.cal-mark:nth-child(-n+4){background:var(--ll-cal-flow-heavy)}.cal-mark:nth-child(-n+5){background:var(--ll-cal-flow-heavy)}.cal-flow-light .cal-day-link{background:var(--ll-cal-flow-light);color:var(--ll-cal-on-flow-light)}.cal-flow-medium .cal-day-link{background:var(--ll-cal-flow-medium);color:var(--ll-cal-on-flow-medium)}.cal-flow-heavy .cal-day-link{background:var(--ll-cal-flow-heavy);color:var(--ll-cal-on-flow-heavy)}.cal-flow .cal-mark{background:currentColor}.cal-flow .cal-cycle-day{color:inherit}.cal-flow .cal-dot{box-shadow:0 0 0 1px currentColor}.cal-flow .cal-day-link:focus-visible{outline-offset:2px}.cal-layers{display:flex;gap:2px}.cal-dot{width:8px;height:8px;border-radius:var(--ll-r-full);display:inline-block}.cal-dot-1{background:var(--ll-cal-symptom-layer-1)}.cal-dot-2{background:var(--ll-cal-symptom-layer-2)}.cal-dot-3{background:var(--ll-cal-symptom-layer-3)}.cal-badge{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:var(--ll-r-full)}.cal-badge-pms{background:var(--ll-cal-pms-badge)}.cal-badge-cramps{background:var(--ll-cal-cramps-badge)}.cal-details{margin-top:var(--ll-space-3)}.cal-details summary{padding-block:calc((2.75rem - var(--ll-type-body-medium-line-height)) / 2);margin-block:calc((var(--ll-type-body-medium-line-height) - 2.75rem) / 2)}.cal-details+.cal-details{margin-top:calc(2.75rem - var(--ll-type-body-medium-line-height))}.cal-legend{list-style:none;margin:var(--ll-space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--ll-space-2) var(--ll-space-4)}.cal-legend li{display:flex;align-items:center;gap:var(--ll-space-2)}.cal-swatch{width:14px;height:14px;border-radius:var(--ll-r-full);display:inline-block}.cal-swatch-spotting{box-shadow:inset 0 0 0 3px var(--ll-cal-flow-spotting)}.cal-swatch-flow,.cal-swatch-light{background:var(--ll-cal-flow-light)}.cal-swatch-medium{background:var(--ll-cal-flow-medium)}.cal-swatch-heavy{background:var(--ll-cal-flow-heavy)}.cal-swatch-superheavy{background:var(--ll-cal-flow-heavy);box-shadow:inset 0 0 0 2px var(--ll-on-surface)}.cal-swatch-symptom{background:var(--ll-cal-symptom-dot)}.cal-swatch-today{box-shadow:inset 0 0 0 3px var(--ll-primary)}.cal-swatch-setup-period{border:2px dotted var(--ll-cal-flow-medium)}.cal-swatch-predicted{background:color-mix(in srgb,var(--ll-cal-predicted-border) 16%,transparent);box-shadow:inset 0 0 0 2px var(--ll-cal-predicted-border)}.cal-swatch-fertile{background:color-mix(in srgb,var(--ll-cal-fertile-border) 16%,transparent);box-shadow:inset 0 0 0 2px var(--ll-cal-fertile-border)}.cal-swatch-pms{background:var(--ll-cal-pms-badge)}.cal-swatch-cramps{background:var(--ll-cal-cramps-badge)}.cal-dot-palette{display:inline-flex;gap:2px;align-items:center}.cal-layer-picker{list-style:none;margin:var(--ll-space-3) 0 0;padding:0;columns:2;column-gap:var(--ll-space-4)}.cal-layer-option{display:flex;align-items:center;gap:var(--ll-space-1);padding:var(--ll-space-1) 0}.form-row{margin-top:var(--ll-space-3);display:flex;flex-direction:column;gap:var(--ll-space-1)}.form-row label{color:var(--ll-on-surface-variant);font-size:var(--ll-type-body-small-font-size)}.form-row input:not([type=checkbox]),.form-row select{min-height:2.75rem;font:inherit;padding:var(--ll-space-2) var(--ll-space-3);border:1px solid var(--ll-outline);border-radius:var(--ll-r-md);background:var(--ll-surface-container-lowest);color:var(--ll-on-surface)}.form-row input[type=checkbox]{width:1rem;height:1rem}.form-hint{margin:0;color:var(--ll-on-surface-variant);font-size:var(--ll-type-body-small-font-size)}.form-error{margin:0;color:var(--ll-error);font-size:var(--ll-type-body-small-font-size)}.confirm-inline{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center}.confirm-text{flex-basis:100%;color:var(--ll-on-surface-variant);font-size:var(--ll-type-body-small-font-size)}.profile-list{list-style:none;margin:var(--ll-space-2) 0 0;padding:0;display:flex;flex-direction:column}.profile-row{display:flex;flex-wrap:wrap;gap:var(--ll-space-2);align-items:center;justify-content:space-between;padding:var(--ll-space-2) 0;border-top:1px solid var(--ll-outline-variant)}.profile-row-main{display:flex;flex-direction:column}.profile-row-created{color:var(--ll-on-surface-variant);font-size:var(--ll-type-body-small-font-size)}@media(max-width:480px){.cal-layer-picker{columns:1}}.home-state-title{margin:0 0 var(--ll-space-1);font-family:var(--ll-font-display);font-size:var(--ll-type-headline-small-font-size);line-height:var(--ll-type-headline-small-line-height);font-weight:var(--ll-type-headline-small-font-weight);letter-spacing:var(--ll-type-headline-small-letter-spacing);color:var(--ll-primary)}
