@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/dm-sans-latin-800-normal-C2H8778U.woff2) format("woff2")}@font-face{font-family:Lora;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2) format("woff2")}:root{color:#241d2c;background:#fff7fb;font-family:DM Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--coral: #e96b9b;--coral-dark: #b94572;--rose: #c94f86;--teal: #6b68b8;--violet: #a45cc7;--sage: #7aa89b;--lavender: #d9d2ff;--pink: #ffe3ef;--ink: #241d2c;--muted: #5f5366;--paper: #fffafd;--line: #ead9e7;--soft: #fff0f7}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;background:#fff7fb}.back-to-top{position:fixed;right:clamp(18px,3vw,34px);bottom:clamp(18px,3vw,34px);z-index:18;display:grid;width:48px;height:48px;place-items:center;padding:0;color:#fff;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:linear-gradient(135deg,var(--coral) 0%,var(--violet) 100%);box-shadow:0 16px 36px #7452723d;cursor:pointer;transition:transform .17s ease,box-shadow .17s ease,opacity .17s ease}.back-to-top:hover{transform:translateY(-2px);box-shadow:0 20px 42px #7452724d}.back-to-top:focus-visible{outline:3px solid rgba(217,210,255,.9);outline-offset:3px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:60px;padding:10px clamp(18px,4vw,56px);background:#fffdfbeb;border-bottom:1px solid rgba(234,217,231,.8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.main-nav,.header-actions,.hero-badges span,.panel-actions,.eyebrow{display:flex;align-items:center}.brand{gap:10px;font-weight:800;color:var(--ink)}.brand-mark{display:grid;width:34px;height:34px;place-items:center;color:#fff;background:var(--coral);border-radius:12px}.brand-mark-image{overflow:hidden;background:transparent;border-radius:10px}.brand-mark-image img{display:block;width:100%;height:100%;object-fit:contain}.main-nav{gap:8px;padding:0;border:0;border-radius:0;background:transparent}.main-nav a{padding:9px 14px;border-radius:0;color:var(--teal);font-size:.94rem;font-weight:700;white-space:nowrap}.main-nav a.active{color:var(--teal);background:transparent}.main-nav .optional-nav-link{display:none}@media(min-width:1380px){.main-nav .optional-nav-link{display:inline-flex}}.single-nav{min-width:138px;justify-content:center}.header-actions{gap:10px}.language-button{min-width:118px;min-height:40px;padding:0 38px 0 16px;color:#5146a4;border:1px solid rgba(217,210,255,.92);border-radius:999px;background:linear-gradient(45deg,transparent 50%,#8b5fcf 50%),linear-gradient(135deg,#8b5fcf 50%,transparent 50%),radial-gradient(circle at 18% 18%,rgba(255,227,239,.9),transparent 58%),linear-gradient(135deg,#fffffff5,#fbf8fffa);background-position:calc(100% - 22px) 17px,calc(100% - 16px) 17px,0 0,0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%,100% 100%;box-shadow:0 10px 24px #6b68b81c;font-weight:900;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease,color .14s ease}.language-select{appearance:none;width:auto;max-width:136px;color-scheme:light}.language-select option{color:#2e294e;background-color:#fff}.language-select option:checked{color:#2e294e;background-color:#f7f2ff}.language-button:hover,.language-button:focus-visible{color:#fff;border-color:var(--coral);background:linear-gradient(45deg,transparent 50%,#ffffff 50%),linear-gradient(135deg,#ffffff 50%,transparent 50%),linear-gradient(135deg,var(--coral) 0%,#b56ce6 100%);background-position:calc(100% - 22px) 17px,calc(100% - 16px) 17px,0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;box-shadow:0 12px 26px #e96b9b33;transform:translateY(-1px)}.language-button:focus-visible{outline:3px solid rgba(107,104,184,.28);outline-offset:3px}.icon-button{display:grid;width:38px;height:38px;place-items:center;color:var(--teal);border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}.account-button span{color:var(--teal);font-size:.78rem;font-weight:900}.mobile-menu-toggle,.mobile-menu{display:none}.mobile-menu{width:100%;padding-top:8px;border-top:1px solid rgba(234,217,231,.72)}.mobile-menu a,.mobile-menu button{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 12px;color:#30283a;border:1px solid rgba(234,217,231,.85);border-radius:8px;background:#ffffffd6;font-weight:850;cursor:pointer}.mobile-menu a.active{color:var(--teal)}.mobile-language-picker{display:grid;gap:6px;min-height:48px;padding:8px 12px 10px;color:#30283a;border:1px solid rgba(234,217,231,.85);border-radius:8px;background:linear-gradient(45deg,transparent 50%,#8b5fcf 50%),linear-gradient(135deg,#8b5fcf 50%,transparent 50%),#ffffffd6;background-position:calc(100% - 20px) 31px,calc(100% - 14px) 31px,0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%}.mobile-language-picker span{color:var(--teal);font-size:.68rem;font-weight:900;letter-spacing:0;line-height:1;text-transform:uppercase}.mobile-language-select{width:100%;color:#30283a;border:0;background:transparent;font:inherit;font-weight:850;outline:0;appearance:none;color-scheme:light;cursor:pointer}.mobile-language-select option{color:#2e294e;background:#fff}.hero{position:relative;min-height:calc(100vh - 60px);overflow:hidden}.hero-background{position:absolute;inset:0;background:linear-gradient(180deg,#fff7fbf5,#fff7fbe6 52%,#fff7fbd1),url(/images/cycle-pastel-background.png) center / cover no-repeat}@supports (background-image: image-set(url(/images/cycle-pastel-background.webp) type("image/webp"))){.hero-background{background:linear-gradient(180deg,#fff7fbf5,#fff7fbe6 52%,#fff7fbd1),image-set(url(/images/cycle-pastel-background.webp) type("image/webp"),url(/images/cycle-pastel-background.png) type("image/png")) center / cover no-repeat}}.hero-content{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(18px,2.4vw,28px);align-items:start;width:min(1180px,calc(100% - 36px));margin:0 auto;min-height:calc(100vh - 60px);padding:clamp(24px,3vw,34px) 0 12px}.hero-copy{max-width:820px;margin:0 auto;text-align:center}.irregular-page-content{padding-bottom:34px}.irregular-copy{max-width:980px}.hero-copy .eyebrow,.hero-badges{justify-content:center}.eyebrow,.section-kicker{gap:8px;margin:0 0 5px;color:var(--teal);font-size:.72rem;font-weight:800;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:760px;margin:0 auto 5px;color:#241d2c;font-family:Lora,Georgia,serif;font-size:clamp(2rem,3.7vw,3.05rem);line-height:1.02;letter-spacing:0}.hero-copy>p:not(.eyebrow){max-width:none;margin-right:auto;margin-bottom:4px;margin-left:auto;color:#51455a;font-size:clamp(.9rem,1.12vw,.98rem);line-height:1.28;white-space:normal}.hero-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.hero-badges span{gap:7px;padding:5px 10px;color:#30283a;border:1px solid rgba(107,104,184,.18);border-radius:999px;background:#ffffffc7;font-size:.82rem;font-weight:750}.account-benefits-strip{display:grid;gap:10px;width:min(100%,1110px);margin:0 auto;padding:13px 16px;border:1px solid rgba(217,210,255,.92);border-radius:8px;background:linear-gradient(135deg,#ffffffdb,#fff7fce0),radial-gradient(circle at 10% 0%,rgba(255,227,239,.62),transparent 170px);box-shadow:0 14px 44px #61436714;text-align:center}.account-benefits-strip h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1rem,2vw,1.35rem);line-height:1.18}.account-benefits-body{display:grid;gap:11px}.account-benefit-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.account-benefit-row-break{flex-basis:100%;width:0;height:0;pointer-events:none}.account-benefit-chips span{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(107,104,184,.2);border-radius:999px;background:#ffffffd1;color:#30283a;font-size:.8rem;font-weight:850;line-height:1.1;box-shadow:0 8px 20px #6b68b80f}.account-benefit-chips svg{flex:0 0 auto;color:var(--violet)}.account-benefit-actions{display:flex;gap:8px;justify-content:center}.account-benefit-actions button{display:inline-flex;min-width:128px;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:8px;font:inherit;font-size:.86rem;font-weight:900;line-height:1.05;cursor:pointer}.account-benefit-signup{border:1px solid rgba(225,82,139,.34);background:linear-gradient(135deg,#cf3f84,#784fc7);color:#fff;box-shadow:0 12px 28px #e1528b2e}.account-benefit-login{border:1px solid rgba(107,104,184,.38);background:#fff;color:#5146a4}.account-benefit-signup svg{color:#fff}.account-benefit-login svg{color:#5146a4}.account-benefit-actions button:hover{transform:translateY(-1px)}.period-records-panel{display:grid;gap:12px;width:100%;max-width:1120px;margin:0 auto;padding:16px;border:1px solid rgba(234,217,231,.95);border-radius:8px;background:#fffafdf0;box-shadow:0 18px 54px #6143671a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.period-records-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.period-records-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.period-records-actions a,.period-records-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid rgba(107,104,184,.16);border-radius:999px;background:#fff;color:var(--teal);font:inherit;font-size:.76rem;font-weight:900;text-decoration:none;white-space:nowrap;cursor:pointer}.period-records-actions svg{flex:0 0 auto}.period-records-actions button{color:var(--coral-dark);border-color:#e96b9b3d}.period-records-actions a:hover,.period-records-actions button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #61436714}.period-records-actions a:focus-visible,.period-records-actions button:focus-visible{outline:3px solid rgba(176,87,160,.22);outline-offset:2px}.period-records-heading .section-kicker{display:inline-flex;align-items:center}.period-records-heading h2{margin:0 0 5px;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.75rem)}.period-records-heading span{color:var(--muted);font-size:.86rem;line-height:1.4}.period-records-table-wrap{overflow-x:auto;border:1px solid rgba(234,217,231,.88);border-radius:8px;background:#ffffffb8}.period-records-table{width:100%;min-width:1040px;border-collapse:collapse;color:var(--muted);font-size:.78rem}.period-records-table th,.period-records-table td{padding:10px 12px;border-bottom:1px solid rgba(234,217,231,.74);text-align:left;white-space:nowrap}.period-records-table th{color:var(--teal);background:#fbf8ffad;font-weight:900}.period-records-table tr:last-child td{border-bottom:0}.account-page-hero{margin-bottom:24px}.account-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:min(1180px,calc(100% - 28px));margin:0 auto 18px}.account-summary-grid article,.account-gate-card,.account-empty-card,.cycle-history-projections{border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#fff7fbe6),radial-gradient(circle at 100% 0%,rgba(217,210,255,.35),transparent 180px);box-shadow:0 18px 44px #5844610f}.account-summary-grid article{display:grid;gap:5px;min-height:92px;align-content:center;padding:16px}.account-summary-grid strong{color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.4rem,2vw,2rem);line-height:1}.account-summary-grid span{color:var(--muted);font-size:.82rem;font-weight:850}.account-gate-card,.account-empty-card{display:grid;gap:12px;width:min(900px,calc(100% - 28px));margin:0 auto 28px;padding:clamp(24px,4vw,38px)}.account-gate-card h2,.account-empty-card h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.12}.account-gate-card p:not(.section-kicker),.account-empty-card p:not(.section-kicker){max-width:760px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}.account-gate-actions{display:flex;flex-wrap:wrap;gap:10px}.account-gate-actions button{min-height:46px;padding:0 18px;border:1px solid rgba(217,210,255,.9);border-radius:999px;background:#fff;color:var(--violet);font-weight:950;cursor:pointer}.account-gate-actions button:first-child{border-color:transparent;background:linear-gradient(135deg,var(--rose),var(--violet));color:#fff;box-shadow:0 16px 34px #b057a033}.cycle-history-page .record-forecast-card,.cycle-history-page .pattern-charts,.cycle-history-projections{width:min(1180px,calc(100% - 28px));margin-left:auto;margin-right:auto}.cycle-history-page .record-forecast-card,.cycle-history-page .pattern-charts{margin-top:18px}.cycle-history-projections{display:grid;gap:16px;margin-top:18px;padding:18px}.account-medical-disclaimer{margin-top:24px}@media(max-width:980px){.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.account-summary-grid{grid-template-columns:1fr}.period-records-heading{align-items:stretch;flex-direction:column}.period-records-actions{justify-content:flex-start}.period-records-actions a,.period-records-actions button{flex:1 1 150px}}.period-records-table td strong{color:var(--ink)}.period-records-table button{min-height:32px;padding:0 10px;color:var(--coral-dark);border:1px solid rgba(233,107,155,.22);border-radius:999px;background:#fff;font-size:.74rem;font-weight:900;cursor:pointer}.cycle-timeline{display:grid;gap:12px;width:100%;max-width:1120px;margin:0 auto;padding:16px;border:1px solid rgba(234,217,231,.95);border-radius:8px;background:#fffafdeb;box-shadow:0 18px 54px #6143671a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.cycle-timeline.locked{background:#ffffffc2}.irregular-signup-gate{display:grid;gap:16px;width:100%;max-width:1120px;margin:0 auto;padding:clamp(18px,3vw,28px);border:1px solid rgba(234,217,231,.95);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(217,210,255,.76) 0 92px,transparent 93px),linear-gradient(135deg,#fffafdf5,#fff0f7db);box-shadow:0 22px 70px #6143671f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.irregular-signup-gate .section-kicker{display:inline-flex;align-items:center}.irregular-signup-gate h2{max-width:760px;margin:0 0 8px;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.08}.irregular-signup-gate p{max-width:820px;margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.gate-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gate-feature-grid article{display:grid;gap:7px;min-height:132px;padding:14px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#ffffffb8}.gate-feature-grid svg{color:var(--teal)}.gate-feature-grid strong{color:var(--ink);font-size:.96rem}.gate-feature-grid span{color:var(--muted);font-size:.82rem;line-height:1.38}.gate-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.primary-gate-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;color:#fff;border:0;border-radius:999px;background:linear-gradient(135deg,var(--coral),var(--teal));box-shadow:0 14px 30px #6d64b838;font-weight:900;cursor:pointer}.gate-actions>span{color:var(--muted);font-size:.82rem;font-weight:750}.gate-actions>span a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.timeline-heading .section-kicker{display:inline-flex;align-items:center}.timeline-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.8rem);line-height:1.1}.timeline-heading .secondary-button:disabled{cursor:not-allowed;opacity:.58}.timeline-intro{max-width:740px;margin:-4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.history-summary-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:12px;align-items:start}.cycle-results-stack{display:grid;gap:12px;scroll-margin-top:76px}.record-forecast-card{position:relative;overflow:hidden;display:grid;gap:14px;align-content:start;padding:16px;border:1px solid rgba(122,168,155,.22);border-radius:8px;background:radial-gradient(circle at 100% 10%,rgba(225,245,239,.92) 0 76px,transparent 77px),linear-gradient(135deg,#f8fffceb,#fff0f7a3);animation:report-reveal .42s ease-out both}.record-forecast-card:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.58) 18%,transparent 34%),linear-gradient(125deg,#ffe0ed47,#e5e0ff38,#def7ef42);background-size:240% 100%,140% 140%;background-position:-145% 0,50% 50%;opacity:.66;mix-blend-mode:soft-light;animation:ambient-silk-sheen 7.5s ease-in-out infinite}.record-forecast-card>*{position:relative;z-index:1}.record-forecast-card span:first-child{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-size:clamp(.88rem,1.4vw,1rem);font-weight:900;text-transform:uppercase}.record-forecast-card h3{margin:5px 0 6px;color:var(--ink);font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.15}.record-forecast-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45}.record-forecast-metrics{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,2fr);gap:10px;align-items:stretch}.forecast-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forecast-metric-card{display:grid;gap:5px;min-height:84px;padding:12px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#ffffffbd;animation:metric-reveal .36s ease-out both}.forecast-metric-card.featured{animation-delay:80ms}.forecast-metric-grid .forecast-metric-card:nth-child(1){animation-delay:.14s}.forecast-metric-grid .forecast-metric-card:nth-child(2){animation-delay:.2s}.forecast-metric-grid .forecast-metric-card:nth-child(3){animation-delay:.26s}.forecast-metric-grid .forecast-metric-card:nth-child(4){animation-delay:.32s}.forecast-metric-card.featured{min-height:178px;align-content:center;padding:18px}.forecast-metric-card strong{color:var(--ink);font-size:1rem;line-height:1.15}.forecast-metric-card.featured strong{font-family:Lora,Georgia,serif;font-size:clamp(1.65rem,3vw,2.25rem)}.forecast-metric-card span{color:var(--muted);font-size:.72rem;font-weight:850}.forecast-metric-card.period{border-color:#ff9bb870;background:#ffe2eca8}.forecast-metric-card.fertile{border-color:#7acdb86b;background:#ddf7efad}.forecast-metric-card.ovulation{border-color:#a69cf56b;background:#e9e5ffb3}.forecast-metric-card.projected,.forecast-metric-card.saved{border-color:#6b68b82e;background:#fbf8ffc7}.forecast-explanation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forecast-explanation-card{display:grid;gap:7px;padding:12px;border:1px solid rgba(234,217,231,.88);border-radius:8px;background:#ffffffad;animation:metric-reveal .36s ease-out both}.forecast-explanation-card:nth-child(1){animation-delay:.38s}.forecast-explanation-card:nth-child(2){animation-delay:.44s}.forecast-explanation-card:nth-child(3){animation-delay:.5s}.forecast-explanation-card:nth-child(4){animation-delay:.56s}.forecast-explanation-card strong{color:var(--ink);font-size:.92rem}.forecast-explanation-card p{color:#51475e;font-size:.82rem;line-height:1.45}.forecast-explanation-card.period{border-color:#ff9bb866}.forecast-explanation-card.fertile{border-color:#7acdb861}.forecast-explanation-card.ovulation{border-color:#a69cf566}.forecast-explanation-card.saved{border-color:#6b68b82e}@keyframes report-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes metric-reveal{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ambient-silk-sheen{0%{background-position:-145% 0,48% 50%}52%{background-position:145% 0,54% 50%}to{background-position:145% 0,54% 50%}}@media(prefers-reduced-motion:reduce){.record-forecast-card,.forecast-metric-card,.forecast-explanation-card{animation:none}.record-forecast-card:before{animation:none}}.pattern-charts{display:grid;gap:10px;padding:14px;border:1px solid rgba(234,217,231,.92);border-radius:8px;background:#ffffff94}.pattern-chart-heading h3{margin:0 0 4px;color:var(--ink);font-size:1rem}.pattern-chart-heading p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.35}.pattern-chart-explainer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pattern-chart-explainer article{display:grid;gap:5px;padding:12px;border:1px solid rgba(234,217,231,.86);border-radius:8px;background:#ffffff94}.pattern-chart-explainer strong{color:var(--ink);font-size:.9rem}.pattern-chart-explainer p,.pattern-chart-note{margin:0;color:#5d5268;font-size:.78rem;line-height:1.42}.pattern-chart-grid{display:grid;grid-template-columns:1fr;gap:12px}.pattern-chart-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(234,217,231,.88);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(217,210,255,.38) 0 58px,transparent 59px),#fffafdc7}.pattern-chart-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.pattern-chart-title span{color:var(--muted);font-size:.78rem;font-weight:900}.pattern-chart-title strong{padding:4px 8px;color:var(--teal);border:1px solid rgba(107,104,184,.16);border-radius:999px;background:#fbf8ffd1;font-size:.72rem;white-space:nowrap}.pattern-chart-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;align-items:stretch}.pattern-chart-visual{min-width:0}.pattern-chart-detail{display:grid;align-content:center;gap:8px;padding:16px;border:1px solid rgba(234,217,231,.78);border-radius:8px;background:#ffffff9e}.pattern-chart-detail strong{color:var(--ink);font-size:1rem}.pattern-chart-detail p{margin:0;color:#51475e;font-size:clamp(.94rem,1.3vw,1.05rem);line-height:1.55}.cycle-line-chart,.period-bar-chart{display:block;width:100%;min-height:300px;aspect-ratio:720 / 320}.pattern-chart-card.is-visible{animation:chart-card-reveal .46s ease-out both}.pattern-chart-card.is-visible:nth-child(2){animation-delay:.11s}.pattern-chart-card.is-visible:nth-child(3){animation-delay:.22s}.chart-grid-line{stroke:#6b68b81f;stroke-width:1}.chart-average-line{stroke:#6b68b870;stroke-dasharray:8 8;stroke-width:2}.chart-average-line.period{stroke:#e96b9b73}.cycle-line-path{fill:none;stroke:var(--teal);stroke-linecap:round;stroke-linejoin:round;stroke-width:6}.cycle-line-chart.animate .cycle-line-path{stroke-dasharray:900;stroke-dashoffset:900;animation:chart-line-draw .9s ease-out .18s both}.cycle-line-point{fill:var(--coral);stroke:#fff;stroke-width:5}.cycle-line-chart.animate .cycle-line-point,.cycle-line-chart.animate .chart-value-label,.cycle-line-chart.animate .chart-axis-label,.cycle-line-chart.animate .chart-average-label{opacity:0;animation:chart-fade-in .36s ease-out .72s both}.period-bar{fill:#ffe3ef;stroke:#d9577247;stroke-width:1.5}.period-bar-chart.animate .period-bar{transform-box:fill-box;transform-origin:center bottom;animation:chart-bar-grow .72s ease-out .18s both}.period-bar-chart.animate .chart-value-label,.period-bar-chart.animate .chart-axis-label,.period-bar-chart.animate .chart-average-label{opacity:0;animation:chart-fade-in .36s ease-out .68s both}.chart-axis-label{fill:var(--muted);font-size:16px;font-weight:800}.chart-value-label{fill:var(--ink);font-size:19px;font-weight:900}.chart-average-label{fill:var(--teal);font-size:16px;font-weight:900}.empty-chart{display:grid;min-height:180px;place-content:center;gap:6px;color:var(--muted);border:1px dashed rgba(107,104,184,.18);border-radius:8px;background:#fbf8ff80;text-align:center}.empty-chart strong{color:var(--ink)}.empty-chart span{font-size:.8rem}.flow-chart{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1fr);align-items:center;gap:14px;min-height:300px}.flow-pie{position:relative;width:min(210px,100%);aspect-ratio:1;justify-self:center;border-radius:50%;background:var(--flow-pie);box-shadow:inset 0 0 0 1px #6b68b81f,0 12px 28px #6b68b81f}.flow-pie:after{content:"";position:absolute;inset:22%;border-radius:50%;background:#fffafdf5;box-shadow:inset 0 0 0 1px #ead9e7d1}.flow-pie span{position:absolute;inset:0;z-index:1;display:grid;place-items:center;color:var(--ink);font-size:1.65rem;font-weight:900}.flow-chart.animate .flow-pie{animation:flow-pie-reveal .82s ease-out .2s both}.flow-legend{display:grid;gap:8px}.flow-legend span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.88rem;font-weight:800}.flow-legend i{width:11px;height:11px;border-radius:4px;flex:0 0 auto}.flow-legend strong{margin-left:auto;color:var(--ink)}.flow-chart.animate .flow-legend span{opacity:0;animation:chart-fade-in .32s ease-out both}.flow-chart.animate .flow-legend span:nth-child(1){animation-delay:.42s}.flow-chart.animate .flow-legend span:nth-child(2){animation-delay:.5s}.flow-chart.animate .flow-legend span:nth-child(3){animation-delay:.58s}.flow-chart.animate .flow-legend span:nth-child(4){animation-delay:.66s}@keyframes chart-card-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chart-line-draw{to{stroke-dashoffset:0}}@keyframes chart-bar-grow{0%{transform:scaleY(.08);opacity:.45}to{transform:scaleY(1);opacity:1}}@keyframes chart-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes flow-pie-reveal{0%{opacity:0;transform:scale(.86) rotate(-12deg);filter:saturate(.75)}to{opacity:1;transform:scale(1) rotate(0);filter:saturate(1)}}@media(prefers-reduced-motion:reduce){.pattern-chart-card.is-visible,.cycle-line-chart.animate .cycle-line-path,.cycle-line-chart.animate .cycle-line-point,.cycle-line-chart.animate .chart-value-label,.cycle-line-chart.animate .chart-axis-label,.cycle-line-chart.animate .chart-average-label,.period-bar-chart.animate .period-bar,.period-bar-chart.animate .chart-value-label,.period-bar-chart.animate .chart-axis-label,.period-bar-chart.animate .chart-average-label,.flow-chart.animate .flow-pie,.flow-chart.animate .flow-legend span{animation:none;opacity:1;transform:none;stroke-dashoffset:0}}.timeline-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.timeline-section-heading{display:grid;gap:5px;padding:2px 2px 0}.timeline-section-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.15}.timeline-section-heading p{max-width:780px;margin:0;color:var(--muted);font-size:.84rem;line-height:1.42}.timeline-card{display:grid;gap:10px;min-height:182px;padding:14px;border:1px solid rgba(234,217,231,.92);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(217,210,255,.62) 0 58px,transparent 59px),#ffffffbd}.timeline-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.76rem;font-weight:850}.timeline-card-top strong{padding:4px 8px;color:var(--teal);border:1px solid rgba(107,104,184,.16);border-radius:999px;background:#fbf8ffc7;font-size:.68rem;white-space:nowrap}.timeline-card h3{margin:0;color:var(--ink);font-size:clamp(1.15rem,2.6vw,1.45rem)}.report-actions-panel{display:grid;gap:14px;padding:16px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffdb,#fff7fbe6),radial-gradient(circle at 96% 0%,rgba(217,210,255,.48),transparent 118px);box-shadow:0 16px 34px #8f5d7714}.report-actions-panel h3{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.15}.report-actions-panel p{margin:5px 0 0;color:var(--muted);font-size:.82rem;line-height:1.42}.report-actions-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.report-actions-grid button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 10px;border:1px solid rgba(217,210,255,.95);border-radius:8px;background:#ffffffd1;color:var(--violet);font:inherit;font-size:.76rem;font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.report-actions-grid button:hover{border-color:#e96b9b5c;background:#fff7fb;box-shadow:0 10px 20px #8f5d771a;transform:translateY(-1px)}.report-actions-grid button.danger{border-color:#e96b9b57;color:#a83e65;background:#fff0f7}.report-action-status{display:inline-flex;width:fit-content;min-height:28px;align-items:center;padding:5px 10px;border:1px solid rgba(122,168,155,.24);border-radius:999px;background:#f8fffc;color:var(--teal);font-size:.76rem;font-weight:850}.tracker-methodology{width:min(1180px,calc(100% - 28px));margin:clamp(24px,4vw,42px) auto clamp(34px,6vw,76px)}.irregular-methodology{display:grid;gap:14px;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffe0,#fbf8ffe6),radial-gradient(circle at 0% 0%,rgba(255,227,239,.58),transparent 150px)}.methodology-heading{display:grid;gap:6px}.methodology-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.methodology-heading p,.methodology-disclaimer p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}.methodology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.methodology-grid article{display:grid;gap:6px;padding:13px;border:1px solid rgba(217,210,255,.72);border-radius:8px;background:#ffffffb8}.methodology-grid strong,.methodology-disclaimer strong{color:var(--ink);font-size:.9rem}.methodology-grid span{color:var(--muted);font-size:.8rem;line-height:1.48}.methodology-disclaimer{display:grid;gap:7px;padding:14px;border:1px solid rgba(233,107,155,.18);border-radius:8px;background:#fff0f780}.methodology-disclaimer a{width:fit-content;color:var(--violet);font-size:.82rem;font-weight:900;text-decoration:none}.methodology-disclaimer a:hover{text-decoration:underline}.results-guide-section{display:grid;gap:16px;width:min(1180px,calc(100% - 28px));margin:clamp(18px,3vw,28px) auto 0;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#fbf8ffe6),radial-gradient(circle at 0% 0%,rgba(232,250,244,.58),transparent 210px),radial-gradient(circle at 100% 0%,rgba(255,227,239,.56),transparent 220px)}.results-guide-heading{display:grid;gap:7px;min-width:0}.results-guide-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.results-guide-heading p:not(.section-kicker){max-width:940px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}.results-guide-layout,.results-guide-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.results-example-card,.results-interpretation-card,.results-guide-table-card,.results-guide-actions article{display:grid;align-content:start;gap:11px;min-width:0;padding:14px;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(255,227,239,.48),transparent 110px),#ffffffc7}.results-example-card h3,.results-interpretation-card h3,.results-guide-table-card h3,.results-guide-actions h3{margin:0;color:var(--ink);font-size:1rem;line-height:1.25}.results-example-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.results-example-columns div{display:grid;gap:7px;min-width:0}.results-example-columns strong{color:var(--violet);font-size:.78rem;font-weight:900;text-transform:uppercase}.results-example-card ul,.results-interpretation-card ul,.results-guide-actions ul,.results-guide-actions ol{display:grid;gap:8px;margin:0;padding-left:19px;color:var(--muted);font-size:.84rem;line-height:1.6}.results-guide-actions ol li{padding-left:2px}.results-guide-actions a{display:inline-block;margin-left:5px;color:var(--violet);font-weight:900;text-decoration:none}.results-guide-actions a:hover{text-decoration:underline}.results-guide-table-wrap{overflow-x:auto;border:1px solid rgba(234,217,231,.82);border-radius:8px;background:#ffffffa3}.results-guide-table{width:100%;min-width:690px;border-collapse:collapse}.results-guide-table th,.results-guide-table td{padding:12px;border-bottom:1px solid rgba(234,217,231,.76);text-align:left;vertical-align:top;font-size:.82rem;line-height:1.55}.results-guide-table th{color:var(--violet);font-size:.76rem;font-weight:900;letter-spacing:0;text-transform:uppercase;background:#f8f6ffdb}.results-guide-table td{color:var(--muted)}.results-guide-table td:first-child{color:var(--ink);font-weight:900}.results-guide-table tr:last-child td{border-bottom:0}.tool-seo-guide-section,.pwa-install-guide-section{display:grid;gap:16px;width:min(1180px,calc(100% - 28px));margin:clamp(18px,3vw,28px) auto 0;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#fbf8ffe6),radial-gradient(circle at 0% 0%,rgba(232,250,244,.58),transparent 210px),radial-gradient(circle at 100% 0%,rgba(255,227,239,.56),transparent 220px)}.tool-seo-guide-heading,.pwa-install-copy{display:grid;gap:7px;min-width:0}.tool-seo-guide-heading h2,.pwa-install-copy h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.tool-seo-guide-heading p:not(.section-kicker),.pwa-install-copy p:not(.section-kicker){max-width:920px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}.tool-seo-guide-grid,.pwa-install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;width:100%;max-width:100%;min-width:0}.pwa-install-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-seo-guide-grid article,.pwa-install-grid article{display:grid;align-content:start;gap:8px;min-height:176px;padding:14px;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(255,227,239,.58),transparent 100px),#ffffffc7}.pwa-install-grid article{grid-template-rows:132px auto 1fr;min-height:322px;min-width:0;max-width:100%;box-sizing:border-box}.tool-seo-guide-grid h3,.pwa-install-grid strong{margin:0;color:var(--ink);font-size:.98rem;line-height:1.25}.tool-seo-guide-grid p,.pwa-install-grid span{margin:0;color:var(--muted);font-size:.84rem;line-height:1.6}.pwa-install-preview{position:relative;overflow:hidden;display:grid;width:100%;max-width:100%;min-width:0;min-height:132px;place-items:center;padding:10px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:radial-gradient(circle at 12% 0%,rgba(217,210,255,.72),transparent 86px),radial-gradient(circle at 100% 100%,rgba(232,250,244,.82),transparent 92px),linear-gradient(135deg,#fffafdf5,#f8f6fff0)}.pwa-phone-frame{display:grid;max-width:100%;min-width:0;width:min(158px,100%);gap:8px;padding:9px;border:1px solid rgba(107,104,184,.18);border-radius:14px;background:#ffffffe0;box-shadow:0 10px 24px #6143671a}.pwa-phone-url,.pwa-browser-bar span{overflow:hidden;color:var(--muted);font-size:.62rem;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.pwa-install-prompt,.pwa-share-sheet,.pwa-home-preview,.pwa-desktop-body,.pwa-checklist-preview{border:1px solid rgba(217,210,255,.8);border-radius:8px;background:#ffffffd1}.pwa-install-prompt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-width:0;padding:8px}.pwa-install-prompt svg,.pwa-share-sheet svg,.pwa-install-chip svg,.pwa-checklist-preview svg{flex:0 0 auto;color:var(--violet)}.pwa-install-prompt div{display:grid;min-width:0;gap:1px}.pwa-install-prompt strong,.pwa-install-prompt span,.pwa-install-prompt small,.pwa-home-preview small,.pwa-share-sheet span,.pwa-share-sheet strong,.pwa-install-chip,.pwa-checklist-preview span{overflow:hidden;font-size:.66rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.pwa-install-prompt strong,.pwa-share-sheet strong,.pwa-install-chip,.pwa-checklist-preview span{color:var(--ink);font-weight:950}.pwa-install-prompt span,.pwa-home-preview small,.pwa-share-sheet span{color:var(--muted);font-weight:850}.pwa-install-prompt small{display:inline-flex;min-height:24px;align-items:center;padding:0 7px;border-radius:999px;background:linear-gradient(135deg,var(--coral),var(--violet));color:#fff;font-weight:950}.pwa-home-preview{display:flex;align-items:center;gap:7px;padding:7px}.pwa-app-icon{display:block;width:30px;height:30px;flex:0 0 auto;border-radius:9px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(97,67,103,.12))}.pwa-share-sheet{display:grid;gap:6px;padding:8px}.pwa-share-sheet span,.pwa-share-sheet strong{display:inline-flex;align-items:center;gap:6px}.pwa-browser-window{max-width:100%;min-width:0;width:min(180px,100%);overflow:hidden;border:1px solid rgba(107,104,184,.18);border-radius:10px;background:#ffffffe6;box-shadow:0 10px 24px #6143671a}.pwa-browser-bar{display:grid;grid-template-columns:6px 6px 6px 1fr;align-items:center;gap:5px;padding:8px;border-bottom:1px solid rgba(234,217,231,.86);background:#fbf8ffd1}.pwa-browser-bar i{width:6px;height:6px;border-radius:999px;background:#e96b9b9e}.pwa-browser-bar i:nth-child(2){background:#ffd8a8e6}.pwa-browser-bar i:nth-child(3){background:#68b8a4b8}.pwa-desktop-body{display:grid;gap:9px;justify-items:center;padding:12px 9px;border:0;border-radius:0;background:#ffffffb8}.pwa-install-chip{display:inline-flex;max-width:100%;min-height:28px;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid rgba(217,210,255,.88);border-radius:999px;background:#fbf8ffe6}.pwa-checklist-preview{display:grid;max-width:100%;min-width:0;width:min(178px,100%);gap:7px;padding:10px}.pwa-checklist-preview span{display:inline-flex;min-height:28px;align-items:center;gap:6px;min-width:0;padding:0 8px;border-radius:8px;background:#ffffffc7}@media(min-width:1181px){.pwa-install-grid{gap:8px}.pwa-install-grid article{grid-template-rows:118px auto 1fr;min-height:306px;overflow:hidden;padding:12px}.pwa-install-grid strong{font-size:.9rem;line-height:1.18}.pwa-install-grid span{font-size:.78rem;line-height:1.48}.pwa-install-preview{min-height:118px;padding:8px}.pwa-phone-frame{width:min(140px,100%);gap:6px;padding:7px}.pwa-browser-window{width:min(154px,100%)}.pwa-checklist-preview{width:min(154px,100%);gap:5px;padding:8px}.pwa-install-prompt{gap:5px;padding:6px}.pwa-install-prompt strong,.pwa-install-prompt span,.pwa-install-prompt small,.pwa-home-preview small,.pwa-share-sheet span,.pwa-share-sheet strong,.pwa-install-chip,.pwa-checklist-preview span{font-size:.58rem}.pwa-install-chip,.pwa-checklist-preview span{min-height:24px;gap:4px;padding:0 6px}.pwa-share-sheet{gap:5px;padding:7px}}.tool-seo-link-row{display:grid;gap:10px;padding:14px;border:1px solid rgba(104,184,164,.24);border-radius:8px;background:#effcf894}.tool-seo-link-row strong{color:var(--teal);font-size:.82rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.tool-seo-link-row div{display:flex;flex-wrap:wrap;gap:8px}.tool-seo-link-row a{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:0 12px;border:1px solid rgba(217,210,255,.9);border-radius:999px;background:#ffffffd1;color:var(--violet);font-size:.82rem;font-weight:900;text-decoration:none}.tool-seo-link-row a:hover,.tool-seo-link-row a:focus-visible{border-color:#e96b9b5c;color:#d94f8b}.pwa-install-guide-section{background:linear-gradient(135deg,#ffffffeb,#fff7fbe6),radial-gradient(circle at 0% 0%,rgba(217,210,255,.5),transparent 220px),radial-gradient(circle at 100% 0%,rgba(232,250,244,.62),transparent 210px)}.pwa-install-note{display:flex;width:100%;max-width:none;align-items:flex-start;gap:8px;margin:0;padding:12px 14px;border:1px solid rgba(104,184,164,.24);border-radius:8px;background:#effcf89e;color:#4d6570;font-size:.86rem;line-height:1.55}.pwa-install-note span{min-width:0;flex:1 1 auto}.pwa-install-note svg{flex:0 0 auto;margin-top:2px;color:var(--teal)}.helpful-features-section{display:grid;gap:16px;width:min(1180px,calc(100% - 28px));margin:clamp(18px,3vw,28px) auto 0;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#fbf8ffe6),radial-gradient(circle at 0% 0%,rgba(255,227,239,.48),transparent 210px),radial-gradient(circle at 100% 100%,rgba(232,250,244,.58),transparent 220px)}.helpful-features-heading{display:grid;gap:7px;min-width:0}.helpful-features-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.helpful-features-heading p:not(.section-kicker){max-width:920px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}.helpful-features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.helpful-features-grid article{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:10px;min-width:0;min-height:138px;padding:14px;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(217,210,255,.44),transparent 92px),#ffffffc7}.helpful-features-grid article>div{min-width:0}.helpful-feature-icon{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid rgba(217,210,255,.9);border-radius:10px;background:#fbf8ffe6;color:var(--violet)}.helpful-features-grid h3{margin:0;color:var(--ink);font-size:.96rem;line-height:1.22}.helpful-features-grid p{margin:6px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.period-faq-section{display:grid;gap:14px;width:min(1180px,calc(100% - 28px));margin:0 auto clamp(34px,6vw,76px);padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#fbf8ffe6),radial-gradient(circle at 100% 0%,rgba(255,227,239,.5),transparent 220px)}.period-faq-heading{display:grid;gap:7px}.period-faq-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.period-faq-heading p:not(.section-kicker){max-width:820px;margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.period-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.period-faq-list details{min-height:84px;padding:14px;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:#ffffffc7}.period-faq-list summary{color:var(--ink);font-size:.92rem;font-weight:950;line-height:1.3;cursor:pointer}.period-faq-list p{margin:9px 0 0;color:var(--muted);font-size:.84rem;line-height:1.55}.more-tools-section{display:grid;gap:14px;width:min(1180px,calc(100% - 28px));margin:clamp(24px,4vw,42px) auto 0;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#fbf8ffe6),radial-gradient(circle at 0% 0%,rgba(255,227,239,.56),transparent 180px),radial-gradient(circle at 100% 0%,rgba(217,210,255,.5),transparent 220px)}.more-tools-heading{display:grid;gap:6px}.more-tools-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.more-tools-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.more-tool-card{position:relative;display:grid;min-height:178px;grid-template-rows:auto 1fr auto;gap:12px;padding:14px;overflow:hidden;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(255,227,239,.62),transparent 84px),#ffffffc7;color:var(--ink);text-decoration:none;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background .17s ease}.more-tool-card:hover,.more-tool-card:focus-visible{border-color:#e96b9b66;background:radial-gradient(circle at 100% 0%,rgba(255,209,231,.74),transparent 92px),#fffafd;box-shadow:0 16px 34px #8f5d771c;transform:translateY(-2px)}.more-tool-card:focus-visible{outline:3px solid rgba(107,104,184,.28);outline-offset:3px}.more-tool-card.current{border-color:#6b68b857;background:radial-gradient(circle at 100% 0%,rgba(217,210,255,.78),transparent 92px),#ffffffe0}.more-tool-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(217,210,255,.86);border-radius:999px;background:linear-gradient(135deg,#fff0f7f2,#f8f6fff5);color:var(--violet);transition:transform .17s ease,color .17s ease,border-color .17s ease}.more-tool-card:hover .more-tool-icon,.more-tool-card:focus-visible .more-tool-icon{border-color:#e96b9b57;color:#d94f8b;transform:rotate(-5deg) scale(1.04)}.more-tool-copy{display:grid;gap:6px}.more-tool-copy strong{color:var(--ink);font-size:.95rem;line-height:1.22}.more-tool-copy small{color:var(--muted);font-size:.78rem;line-height:1.45}.more-tool-arrow{justify-self:end;color:#b56697;transition:transform .17s ease}.more-tool-card:hover .more-tool-arrow,.more-tool-card:focus-visible .more-tool-arrow{transform:translate(3px)}.tool-blog-section{display:grid;gap:18px;width:min(1180px,calc(100% - 28px));min-width:0;margin:clamp(18px,3vw,28px) auto 0;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#fbf8ffe6),radial-gradient(circle at 0% 0%,rgba(255,227,239,.5),transparent 180px),radial-gradient(circle at 100% 0%,rgba(232,248,244,.5),transparent 220px)}.tool-blog-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.tool-blog-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.tool-blog-heading p:not(.section-kicker){max-width:740px;margin:6px 0 0;color:var(--muted);font-size:.95rem;line-height:1.6}.tool-blog-controls{display:inline-flex;gap:8px}.tool-blog-controls button{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(123,98,203,.24);border-radius:999px;background:#ffffffeb;color:var(--violet);cursor:pointer;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.tool-blog-controls button:hover,.tool-blog-controls button:focus-visible{border-color:#e96b9b5c;box-shadow:0 12px 26px #6a538d21;transform:translateY(-1px)}.tool-blog-controls button:focus-visible{outline:3px solid rgba(107,104,184,.26);outline-offset:3px}.tool-blog-carousel{display:grid;grid-auto-columns:minmax(270px,33%);grid-auto-flow:column;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 12px;scroll-padding-inline:2px;scroll-snap-type:inline mandatory;scrollbar-width:thin}.tool-blog-carousel:focus-visible{outline:3px solid rgba(107,104,184,.24);outline-offset:4px}.tool-blog-card{display:grid;min-width:0;min-height:260px;grid-template-rows:auto auto 1fr auto;gap:12px;padding:18px;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(255,227,239,.58),transparent 86px),#ffffffd1;scroll-snap-align:start}.tool-blog-card-top{display:flex;flex-wrap:wrap;min-width:0;gap:8px}.tool-blog-card-top span{display:inline-flex;width:fit-content;max-width:100%;padding:6px 9px;border-radius:999px;background:#faebf5d1;color:#6d5270;font-size:.76rem;font-weight:900;line-height:1.2}.tool-blog-card h3{margin:0;color:var(--ink);font-size:1.08rem;line-height:1.28;overflow-wrap:anywhere}.tool-blog-card h3 a,.tool-blog-card-link{color:var(--ink);font-weight:950;text-decoration:none}.tool-blog-card h3 a:hover,.tool-blog-card-link:hover{color:var(--violet);text-decoration:underline}.tool-blog-card p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.58;overflow-wrap:anywhere}.tool-blog-card-link{align-self:end;color:var(--violet)}.how-to-use-section{display:grid;gap:16px;width:min(1180px,calc(100% - 28px));min-width:0;margin:clamp(18px,3vw,28px) auto 0;padding:18px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#fff7fbe6),radial-gradient(circle at 100% 0%,rgba(217,210,255,.5),transparent 220px)}.how-to-use-heading{display:grid;gap:7px;min-width:0}.how-to-use-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.14}.how-to-use-heading p:not(.section-kicker){max-width:820px;margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.how-to-step-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.how-to-step-card{display:grid;grid-template-rows:28px 204px auto;gap:12px;min-width:0;min-height:280px;padding:14px;border:1px solid rgba(217,210,255,.78);border-radius:8px;background:radial-gradient(circle at 100% 0%,rgba(255,227,239,.58),transparent 110px),#ffffffc7}.how-to-step-label{display:inline-flex;width:64px;height:28px;min-height:28px;max-height:28px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(217,210,255,.86);border-radius:999px;background:#fbf8ffd1;color:var(--violet);font-size:.72rem;font-weight:950;line-height:1;white-space:nowrap}.how-to-step-card h3{margin:0;min-height:2.4em;color:var(--ink);font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.how-to-step-card p{margin:6px 0 0;min-height:4.5em;color:var(--muted);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.how-to-preview{min-width:0;min-height:96px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:linear-gradient(135deg,#fffafdf0,#f8f6fff0)}.dropdown-preview{display:grid;height:204px;min-width:0;min-height:204px;grid-template-rows:auto auto 1fr;gap:8px;padding:12px}.dropdown-preview-label{color:var(--muted);font-size:.72rem;font-weight:900}.dropdown-preview-control{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border:1px solid rgba(217,210,255,.9);border-radius:8px;background:#ffffffe6;color:var(--ink)}.dropdown-preview-control strong{min-width:0;overflow:hidden;font-size:.78rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.dropdown-preview-control svg{width:15px;height:15px;color:var(--violet);flex:0 0 auto}.dropdown-preview-menu{display:grid;gap:4px;padding:7px;border:1px solid rgba(234,217,231,.8);border-radius:8px;background:#ffffffc2}.dropdown-preview-menu span{display:block;padding:5px 7px;border-radius:6px;color:var(--muted);font-size:.66rem;font-weight:850;line-height:1.18}.dropdown-preview-menu span:first-child{background:#fff0f7d1;color:var(--ink)}.input-preview{display:grid;grid-template-columns:1fr auto;gap:8px;align-content:center;padding:12px}.input-preview span{color:var(--muted);font-size:.72rem;font-weight:850}.input-preview strong{color:var(--ink);font-size:.82rem}.window-preview{position:relative;overflow:hidden;padding:16px}.window-preview:before{position:absolute;inset:17px 14px auto;height:2px;border-radius:999px;background:#74697b2e;content:""}.window-preview i{position:absolute;display:block;border-radius:999px}.period-line{left:22px;top:42px;width:44%;height:13px;background:#f49abd}.fertile-line{left:37%;top:66px;width:48%;height:13px;background:#cfc4ff}.ovulation-dot{left:58%;top:36px;width:22px;height:22px;border:4px solid #fff;background:#7aa89b;box-shadow:0 8px 18px #4b746838}.date-preview,.focus-preview,.save-preview{display:grid;place-items:center;gap:3px;padding:12px;color:var(--violet);text-align:center}.date-preview strong,.focus-preview strong,.save-preview strong{color:var(--ink);font-size:.9rem}.date-preview span,.focus-preview span,.save-preview span{color:var(--muted);font-size:.75rem;font-weight:850}.fertility-focus-preview{color:#b56697}.regularity-preview{display:grid;gap:7px;align-content:center;padding:12px}.regularity-preview span,.regularity-preview strong{display:block;padding:7px 9px;border:1px solid rgba(217,210,255,.76);border-radius:999px;background:#ffffffc2;color:var(--muted);font-size:.74rem;font-weight:850;text-align:center}.regularity-preview strong{border-color:#e96b9b47;background:#fff0f7db;color:var(--ink)}.history-preview{display:grid;gap:7px;align-content:center;padding:12px}.history-preview span{display:block;padding:7px 9px;border:1px solid rgba(217,210,255,.76);border-radius:8px;background:#ffffffc7;color:var(--ink);font-size:.78rem;font-weight:900}.report-preview{position:relative;display:grid;place-items:center;gap:3px;overflow:hidden;padding:12px;text-align:center}.report-preview strong{color:var(--ink);font-size:1rem}.report-preview span{color:var(--muted);font-size:.75rem;font-weight:850}.report-preview i{display:block;width:min(150px,80%);height:10px;margin-top:6px;border-radius:999px;background:linear-gradient(90deg,#f49abd,#cfc4ff,#7aa89b)}.calculation-page{display:grid;gap:22px;padding:120px clamp(18px,5vw,64px) 64px;background:radial-gradient(circle at 12% 4%,rgba(255,227,239,.72),transparent 280px),radial-gradient(circle at 86% 10%,rgba(231,222,255,.66),transparent 320px),linear-gradient(180deg,#fffafd,#fbf8ff 52%,#fff)}.calculation-page.blog-page,.calculation-page.blog-article-page{min-width:0;max-width:100vw;padding-top:clamp(36px,4vw,56px)}.calculation-breadcrumb,.calculation-hero,.calculation-disclaimer-box,.calculation-toc,.calculation-section{width:min(1080px,100%);min-width:0;margin:0 auto}.calculation-breadcrumb{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.84rem;font-weight:800}.calculation-breadcrumb a{color:var(--violet);text-decoration:none}.calculation-breadcrumb a,.calculation-breadcrumb span{min-width:0;overflow-wrap:anywhere}.calculation-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}.calculation-hero{display:grid;gap:12px;min-width:0;padding:clamp(26px,5vw,48px);border:1px solid rgba(234,217,231,.86);border-radius:8px;background:linear-gradient(135deg,#ffffffeb,#faf6ffe6),radial-gradient(circle at 100% 0%,rgba(255,209,231,.5),transparent 260px);box-shadow:0 24px 62px #7452721f}.calculation-hero h1{max-width:none;margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(2rem,3.8vw,3.45rem);line-height:1.08;overflow-wrap:anywhere}.calculation-hero p,.calculation-section p,.calculation-disclaimer-box p,.calculation-sources li{min-width:0;margin:0;color:var(--muted);font-size:clamp(.98rem,1.6vw,1.08rem);line-height:1.72;overflow-wrap:anywhere}.calculation-disclaimer-box{display:grid;gap:12px;padding:clamp(22px,4vw,34px);border:1px solid rgba(194,61,111,.28);border-left:7px solid #d94f8b;border-radius:8px;background:linear-gradient(135deg,#fff0f7f5,#faf5fff0),radial-gradient(circle at 100% 0%,rgba(217,210,255,.7),transparent 240px)}.calculation-disclaimer-box span{width:fit-content;padding:6px 10px;border-radius:999px;background:#d94f8b1f;color:#9b2558;font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.calculation-disclaimer-box h2,.calculation-toc h2,.medical-review-badge{display:inline-flex;align-items:center;width:auto;max-width:100%;gap:7px;min-width:0;padding:0;color:var(--ink);font-size:clamp(1rem,1.6vw,1.08rem);line-height:1.35}.medical-review-badge span{min-width:0;overflow-wrap:anywhere}.medical-review-badge svg{flex:0 0 auto;width:18px;height:18px;padding:2px;border-radius:999px;background:#168a4a;color:#fff;stroke-width:4}.medical-review-badge strong{font-weight:900}.medical-review-badge a{color:inherit;text-decoration:none}.medical-review-badge a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.medical-review-badge a:focus-visible{outline:3px solid rgba(107,104,184,.24);outline-offset:2px;border-radius:4px}.medical-review-checks{display:grid;gap:8px;min-width:0}.medical-review-checks h3,.medical-review-checks ul{margin:0}.medical-review-checks ul{padding-left:1.4rem}.medical-review-checks:focus,.medical-review-checks:focus-visible{outline:0}.calculation-section h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.35rem,2.35vw,1.9rem);line-height:1.2}.calculation-hero a,.calculation-disclaimer-box a,.calculation-section a{width:fit-content;color:var(--violet);font-weight:900;text-decoration:none;text-underline-offset:3px}.calculation-hero a:hover,.calculation-disclaimer-box a:hover,.calculation-section a:hover{text-decoration:underline}.calculation-toc{display:grid;gap:14px;padding:22px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#ffffffc2}.calculation-toc div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.calculation-toc a{display:inline-flex;align-items:center;gap:8px;color:#5f5368;font-size:.92rem;font-weight:850;line-height:1.35;text-decoration:none}.calculation-toc a:before{width:7px;height:7px;border-radius:999px;background:#d94f8b;content:""}.calculation-toc a:hover{color:var(--violet)}.calculation-section{display:grid;gap:14px;min-width:0;max-width:100%;padding:clamp(20px,4vw,32px);border:1px solid rgba(234,217,231,.84);border-radius:8px;background:#ffffffd1}.calculation-highlight-grid,.formula-card-grid,.calculation-comparison,.record-count-grid,.accuracy-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calculation-example-stack{display:grid;gap:12px}.calculation-highlight-grid article,.formula-card-grid article,.calculation-comparison article,.calculation-example-stack article,.record-count-grid article,.accuracy-columns article,.calculation-faq-list details{display:grid;gap:7px;padding:15px;border:1px solid rgba(217,210,255,.75);border-radius:8px;background:linear-gradient(135deg,#ffffffe6,#fdf8fcd1)}.calculation-highlight-grid strong,.formula-card-grid span,.calculation-comparison h3,.calculation-example-stack h3,.record-count-grid strong,.accuracy-columns h3,.calculation-faq-list summary{color:var(--ink);font-weight:950}.calculation-highlight-grid span,.formula-card-grid code,.calculation-comparison p,.calculation-example-stack p,.record-count-grid span,.accuracy-columns li,.calculation-faq-list p{color:var(--muted);font-size:.92rem;line-height:1.55}.about-certification-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,174px);align-items:center;gap:clamp(16px,3vw,28px)}.about-certification-logo{display:block;width:min(174px,100%);height:auto;justify-self:center;border-radius:50%;filter:drop-shadow(0 16px 28px rgba(198,91,139,.18))}.formula-card-grid code{width:fit-content;max-width:100%;padding:7px 9px;border-radius:8px;background:#faebf5d1;color:#6a3f6f;font-family:Consolas,Monaco,monospace;white-space:normal}.calculation-table-wrap{overflow-x:auto}.calculation-table{width:100%;min-width:680px;border-collapse:collapse;color:var(--muted);font-size:.92rem}.calculation-table th,.calculation-table td{padding:12px;border:1px solid rgba(234,217,231,.9);text-align:left;vertical-align:top}.calculation-table th{background:#faebf5b8;color:var(--ink);font-weight:950}.blog-search-section{display:grid;gap:8px;width:min(1080px,100%);min-width:0;margin:0 auto}.blog-search-control{position:relative;display:flex;min-height:54px;align-items:center;gap:10px;padding:0 52px 0 16px;border:1px solid rgba(217,210,255,.86);border-radius:8px;background:#ffffffe6;box-shadow:0 18px 44px #5e4c8c17}.blog-search-control>svg{flex:0 0 auto;color:var(--violet)}.blog-search-control input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;font-weight:850}.blog-search-control input::placeholder{color:#8f8098;font-weight:750}.blog-search-control input::-webkit-search-cancel-button{-webkit-appearance:none}.blog-search-clear{position:absolute;top:50%;right:10px;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(123,98,203,.22);border-radius:8px;background:#f6f1ffd1;color:var(--violet);cursor:pointer;transform:translateY(-50%)}.blog-search-clear:hover{background:#ebe3fff2}.blog-search-count{margin:0;color:var(--muted);font-size:.9rem;font-weight:850}.blog-search-empty{display:grid;gap:6px;padding:18px;border:1px solid rgba(217,210,255,.8);border-radius:8px;background:linear-gradient(135deg,#fffffff0,#fdf8fcd6)}.blog-search-empty strong{color:var(--ink);font-size:1rem;font-weight:950}.blog-search-empty span{color:var(--muted);font-size:.95rem;line-height:1.55}.blog-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.blog-card{display:grid;gap:12px;min-height:100%;padding:18px;border:1px solid rgba(217,210,255,.8);border-radius:8px;background:linear-gradient(135deg,#fffffff0,#fdf8fcd6);box-shadow:0 16px 34px #5a365e12}.blog-card.compact{box-shadow:none}.blog-card-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(123,98,203,.22);border-radius:8px;background:#f6f1ffc7;color:var(--violet)}.blog-card-meta,.article-meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.blog-card-meta span,.article-meta-row span{display:inline-flex;width:fit-content;max-width:100%;min-width:0;padding:6px 9px;border-radius:999px;background:#faebf5d1;color:#6d5270;font-size:.78rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.blog-card h3{margin:0;color:var(--ink);font-size:1.1rem;line-height:1.25}.blog-card h3 a,.blog-card-link,.article-body a,.article-sources a{color:var(--violet);font-weight:900;text-decoration:none}.blog-card h3 a:hover,.blog-card-link:hover,.article-body a:hover,.article-sources a:hover{text-decoration:underline}.blog-card p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6}.blog-card-link{align-self:end}.blog-article-shell{display:grid;gap:22px;width:min(1080px,100%);max-width:100%;min-width:0;margin:0 auto}.blog-article-hero{gap:14px;max-width:100%;min-width:0}.blog-article-hero h1{overflow-wrap:break-word;white-space:normal}.article-featured-summary{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);gap:18px;align-items:start;max-width:100%;min-width:0}.article-featured-summary.no-featured-image{display:block}.article-featured-summary .article-takeaways{margin:0}.blog-featured-image{overflow:hidden;min-width:0;max-width:100%;margin:0;border:1px solid rgba(217,210,255,.88);border-radius:8px;background:#ffffffc2;box-shadow:0 18px 44px #5e4c8c1a}.blog-featured-image img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;transform:scale(1.18);transform-origin:56% 48%}.product-hunt-embed-wrapper{display:grid;justify-items:start;margin:18px 0 24px}.product-hunt-embed-wrapper>div{box-sizing:border-box;width:100%}.article-meta-row{min-width:0;margin-top:2px}.article-takeaways ul,.article-sources ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.article-takeaways li{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;min-width:0;color:var(--muted);line-height:1.55}.article-takeaways li span{min-width:0;overflow-wrap:anywhere}.article-takeaways svg{margin-top:3px;color:var(--violet)}.article-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:18px;align-items:start;max-width:100%;min-width:0}.article-toc{position:sticky;top:96px;display:grid;gap:12px;min-width:0;padding:16px;border:1px solid rgba(234,217,231,.88);border-radius:8px;background:#ffffffdb}.article-toc strong{color:var(--ink);font-size:.95rem;font-weight:950}.article-toc nav{display:grid;gap:9px}.article-toc a{min-width:0;color:#5f5368;font-size:.88rem;font-weight:850;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}.article-toc a:hover{color:var(--violet)}.article-body-card{padding:clamp(22px,4vw,42px);min-width:0}.article-body{color:var(--muted);font-size:1rem;line-height:1.76;max-width:100%;min-width:0;overflow-wrap:anywhere}.article-body>*:first-child{margin-top:0}.article-body>*:last-child{margin-bottom:0}.article-body h2{margin:32px 0 10px;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.42rem,2.2vw,1.95rem);line-height:1.2}.article-body p{margin:0 0 16px}.article-body ul,.article-body ol{display:grid;gap:9px;margin:0 0 18px;padding-left:1.25rem}.article-body li{padding-left:3px}.article-body table{width:100%;min-width:660px;margin:18px 0 24px;border-collapse:collapse;color:var(--muted);font-size:.94rem}.article-body table th,.article-body table td{padding:12px;border:1px solid rgba(234,217,231,.92);text-align:left;vertical-align:top}.article-body table th{background:#faebf5c7;color:var(--ink);font-weight:950}.article-body:has(table){overflow-x:auto}.article-inline-figure{display:grid;gap:10px;max-width:min(620px,100%);margin:24px auto 28px}.article-inline-figure img{display:block;width:100%;height:auto;border:1px solid rgba(217,210,255,.86);border-radius:8px;box-shadow:0 18px 44px #5e4c8c1a}.article-inline-figure figcaption{margin:0;color:var(--muted);font-size:.9rem;font-weight:800;line-height:1.5;text-align:center}.article-callout,.article-formula,.article-cta{margin:20px 0;padding:16px;border-radius:8px}.article-callout{border:1px solid rgba(123,98,203,.24);background:#f6f1ffad}.article-callout strong,.article-cta strong{display:block;margin-bottom:6px;color:var(--ink);font-weight:950}.article-formula{border:1px solid rgba(65,145,129,.22);background:#e8f8f4c2;color:#2b7168;font-family:Consolas,Monaco,monospace;font-weight:900}.article-cta{border:1px solid rgba(217,87,151,.25);background:linear-gradient(135deg,#fff2f8eb,#f6f1ffb3)}.article-cta a{display:inline-flex;width:fit-content;margin-top:2px;padding:10px 14px;border-radius:999px;background:var(--violet);color:#fff;font-weight:950;text-decoration:none}.article-sources p{margin:0;color:var(--muted);line-height:1.6}.article-sources li{color:var(--muted)}.calculation-comparison h3,.calculation-example-stack h3,.accuracy-columns h3{margin:0;font-size:1rem}.accuracy-columns ul{display:grid;gap:8px;margin:0;padding-left:18px}.calculation-faq-list{display:grid;gap:10px}.calculation-faq-list summary{cursor:pointer}.calculation-sources ul{display:grid;gap:8px;margin:0;padding-left:20px}.site-footer{display:grid;gap:18px;padding:clamp(28px,5vw,54px) clamp(18px,5vw,64px) 22px;border-top:1px solid rgba(234,217,231,.9);background:linear-gradient(135deg,#fffafdf5,#f8f6fff5),radial-gradient(circle at 8% 0%,rgba(255,227,239,.7),transparent 260px);color:var(--muted)}.footer-main{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(210px,.9fr) repeat(3,minmax(150px,.78fr));gap:clamp(24px,3.8vw,48px);width:min(1320px,100%);margin:0 auto}.footer-brand-block,.footer-column{display:grid;align-content:start;gap:10px;min-width:0}.footer-brand{display:inline-flex;width:fit-content;align-items:center;gap:10px;color:var(--ink);font-weight:900;text-decoration:none}.footer-brand-block p{max-width:360px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.footer-social-block{display:grid;gap:8px;margin-top:4px}.footer-social-label{color:var(--ink);font-size:.78rem;font-weight:900}.footer-social-links{display:flex;flex-wrap:wrap;gap:9px}.footer-product-hunt-badge{display:block;width:250px;max-width:100%;margin-top:2px;line-height:0}.footer-product-hunt-badge img{display:block;width:250px;max-width:100%;height:auto}.footer-mh-day-badge{display:inline-flex;width:fit-content;max-width:100%;align-items:center;gap:10px;margin-top:4px;padding:8px 10px;border:1px solid rgba(217,210,255,.95);border-radius:8px;background:linear-gradient(135deg,#fffffff0,#faf5ffe0);color:var(--ink);font-size:.78rem;font-weight:900;line-height:1.22;text-decoration:none;box-shadow:0 10px 22px #7e63c41a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.footer-mh-day-badge:hover,.footer-mh-day-badge:focus-visible{border-color:#d65aa270;box-shadow:0 14px 28px #d65aa229;transform:translateY(-1px);outline:none}.footer-mh-day-badge img{display:block;width:54px;height:54px;flex:0 0 auto;object-fit:contain}.footer-mh-day-badge span{max-width:132px}.footer-ppw-badge img{border-radius:50%}.footer-ppw-badge span{max-width:146px}.footer-social-link{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid rgba(217,210,255,.95);border-radius:999px;background:linear-gradient(135deg,#fffffff0,#faf5ffe0);color:var(--violet);text-decoration:none;box-shadow:0 10px 22px #7e63c41a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.footer-social-link:hover,.footer-social-link:focus-visible{color:#d65aa2;border-color:#d65aa270;box-shadow:0 14px 28px #d65aa229;transform:translateY(-1px);outline:none}.footer-social-link svg{width:19px;height:19px;display:block}.footer-column h2{margin:0 0 2px;color:var(--ink);font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.footer-column a,.footer-column button{display:block;width:auto;max-width:100%;justify-self:start;padding:0;border:0;background:transparent;color:#62566c;font:inherit;font-size:.86rem;font-weight:750;line-height:1.3;text-align:left;text-decoration:none;overflow-wrap:anywhere;word-break:normal;cursor:pointer}.footer-column a{white-space:normal}.footer-column a:hover,.footer-column button:hover{color:var(--violet);text-decoration:underline;text-underline-offset:3px}.footer-bottom{display:flex;width:min(1320px,100%);margin:0 auto;align-items:center;justify-content:space-between;gap:14px;color:#74697b;font-size:.78rem;font-weight:700}.footer-utility-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;min-width:0}.footer-utility-links a{color:#62566c;font-size:.8rem;font-weight:900;text-decoration:none;white-space:normal;overflow-wrap:anywhere}.footer-utility-links a:hover{color:var(--violet);text-decoration:underline;text-underline-offset:3px}.visual-library-section>p{max-width:780px}.visual-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;align-items:stretch}.visual-guide-card{display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border:1px solid rgba(217,210,255,.82);border-radius:8px;background:#fffffff0;box-shadow:0 16px 34px #5a365e12}.visual-guide-media-link{display:block;min-width:0;background:#fbf4f8;line-height:0}.visual-guide-media-link:focus-visible{outline:3px solid rgba(107,104,184,.28);outline-offset:-3px}.visual-guide-card img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover}.visual-guide-card-content{display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:14px}.visual-guide-card h3{margin:0;color:var(--ink);font-size:1rem;line-height:1.3}.visual-guide-card h3 a{color:inherit;font-weight:950;text-decoration:none}.visual-guide-card h3 a:hover,.visual-guide-card h3 a:focus-visible{color:var(--violet);text-decoration:underline;text-underline-offset:3px}.visual-guide-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}.sitemap-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sitemap-link-grid article{display:grid;gap:10px;align-content:start;padding:16px;border:1px solid rgba(217,210,255,.86);border-radius:8px;background:#ffffffb8}.sitemap-link-grid h3{margin:0;color:var(--ink);font-size:.94rem}.sitemap-link-grid a{width:fit-content;color:#62566c;font-size:.86rem;font-weight:800;text-decoration:none}.sitemap-link-grid a:hover{color:var(--violet);text-decoration:underline;text-underline-offset:3px}.footer-anchor-bank{display:none}.timeline-pill-row{display:grid;gap:6px}.timeline-pill-row span{display:inline-flex;align-items:center;gap:7px;color:#30283a;font-size:.78rem;font-weight:750}.timeline-pill-row i{width:11px;height:11px;border-radius:4px;flex:0 0 auto}.cycle-records-panel{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(234,217,231,.92);border-radius:8px;background:#ffffffa3}.record-panel-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.record-panel-heading h3{margin:0 0 4px;color:var(--ink);font-size:1rem}.record-panel-heading p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.35}.clear-records-button{flex:0 0 auto;min-height:36px;padding:0 12px;color:var(--coral-dark);border:1px solid rgba(233,107,155,.22);border-radius:999px;background:#fff;font-size:.76rem;font-weight:900;cursor:pointer}.cycle-record-form{display:grid;gap:10px;padding:12px;border:1px solid rgba(234,217,231,.86);border-radius:8px;background:#fffafdc2}.cycle-record-table{display:grid;gap:6px}.cycle-record-head,.cycle-record-entry{display:grid;grid-template-columns:34px minmax(150px,1.2fr) minmax(130px,.9fr) minmax(118px,.75fr) minmax(140px,1fr);gap:8px;align-items:center}.cycle-record-head{color:var(--teal);font-size:.7rem;font-weight:900;text-transform:uppercase}.cycle-record-head i{color:var(--teal);font-style:normal;font-weight:900}.cycle-record-entry{padding:7px;border:1px solid rgba(234,217,231,.72);border-radius:8px;background:#ffffffa8}.record-mobile-label{display:none}.record-serial{display:grid;width:26px;height:26px;place-items:center;color:var(--teal);border:1px solid rgba(107,104,184,.18);border-radius:50%;background:#fbf8ff;font-size:.76rem;font-weight:900}.record-flow-select,.record-note-input{min-width:0;height:38px;width:100%;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:750}.record-flow-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--teal) 50%),linear-gradient(135deg,var(--teal) 50%,transparent 50%);background-position:calc(100% - 17px) 17px,calc(100% - 11px) 17px;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.record-form-actions{display:inline-flex;gap:7px;flex-wrap:wrap;align-items:center}.record-required-note{color:var(--muted);font-size:.72rem;font-weight:400}.record-required-note i{color:var(--teal);font-style:normal;font-weight:900}.record-form-actions button,.record-row-actions button{min-height:38px;padding:0 12px;border-radius:999px;font-size:.76rem;font-weight:900;cursor:pointer}.record-form-actions button:first-child{color:#fff;border:0;background:var(--teal)}.record-form-actions button:first-child:disabled{cursor:not-allowed;opacity:.58}.record-form-actions button:last-child,.record-row-actions button{color:var(--teal);border:1px solid rgba(107,104,184,.2);background:#fff}.record-live-preview{display:grid;grid-column:1 / -1;gap:4px;padding:10px 12px;border:1px solid rgba(122,168,155,.22);border-radius:8px;background:#f8fffc}.record-live-preview strong{color:var(--ink);font-size:.9rem}.record-live-preview span{color:var(--muted);font-size:.76rem;line-height:1.35}.record-list{display:grid;gap:7px}.record-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 2px}.record-list-toolbar span{color:var(--muted);font-size:.78rem;font-weight:800}.record-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(234,217,231,.78);border-radius:8px;background:#ffffffb8}.record-row strong{color:var(--ink)}.record-row span,.empty-records{color:var(--muted);font-size:.78rem;line-height:1.35}.record-row-main{display:flex;align-items:center;gap:10px;min-width:0}.record-row-main div{display:grid;gap:3px;min-width:0}.saved-record-number{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;color:var(--violet);border:1px solid rgba(107,104,184,.2);border-radius:999px;background:#fbf8ffe0;font-size:.76rem;font-weight:900}.record-row-actions{display:inline-flex;gap:7px;flex:0 0 auto}.record-row-actions button:last-child{color:var(--coral-dark);border-color:#e96b9b38}.empty-records{margin:0;padding:12px;border:1px dashed rgba(107,104,184,.2);border-radius:8px;background:#fbf8ff80}.timeline-date-chip,.timeline-status-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid transparent;border-radius:999px;font-weight:800;line-height:1.2}.timeline-date-chip.period{color:#9f3764;border-color:#d9577233;background:#ffe3ef}.timeline-date-chip.fertile{color:#2d6b5e;border-color:#7aa89b3d;background:#e1f5ef}.timeline-date-chip.ovulation{color:#5a4e99;border-color:#6b68b83d;background:#e7e3ff}.timeline-status-chip{color:var(--teal);border-color:#6b68b833;background:#fbf8ff}.timeline-status-chip.saved{color:#2d6b5e;border-color:#7aa89b3d;background:#f8fffc}.tracker-panel{width:100%;max-width:1120px;margin:0 auto;padding:clamp(10px,1.4vw,12px);border:1px solid rgba(234,217,231,.95);border-radius:8px;background:#fffafdf0;box-shadow:0 22px 70px #6143671f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tracker-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,370px);gap:clamp(10px,1.4vw,16px);align-items:start}.tracker-main{display:grid;gap:8px}.tracker-side{display:grid;gap:clamp(10px,1.4vw,16px);align-content:start}.output-card{padding:10px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#fff0f78f}.panel-heading{display:flex;align-items:center;gap:8px;margin-bottom:6px}.panel-heading h2{margin:0;color:var(--muted);font-size:.82rem}.panel-heading p{margin:0;color:var(--ink);font-size:clamp(1.42rem,2.9vw,1.95rem);font-weight:850}.confidence-dot{width:12px;height:40px;border-radius:999px;background:#d9a441}.confidence-dot.high{background:var(--sage)}.confidence-dot.low{background:#d95772}.result-list{display:grid;gap:4px}.result-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--line);color:var(--muted)}.result-row strong{color:var(--ink);text-align:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-grid label{position:relative;display:grid;gap:4px;color:var(--muted);font-size:.8rem;font-weight:750}.field-label{display:inline-flex;align-items:baseline;gap:3px;min-height:20px;line-height:1.15}.required-note{margin:-4px 0 0;color:var(--muted);font-size:.72rem;font-weight:400}.required-note span,.required-mark{color:var(--teal);font-weight:900}.irregular-guidance{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;margin:-2px 0 0;padding:8px 10px;color:#55435f;border:1px solid rgba(107,104,184,.18);border-radius:8px;background:linear-gradient(135deg,#ffe3efc7,#e7e3ffc7);font-size:.76rem;line-height:1.35}.irregular-guidance svg{color:var(--teal);margin-top:1px}.irregular-guidance a{color:var(--teal);font-weight:900;text-decoration:underline;text-underline-offset:2px}.form-grid input,.form-grid select{min-width:0;height:38px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background-color:#fff}.form-grid select:has(option[value=""]:checked){color:#30283a;background-color:#fff}.form-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--teal) 50%),linear-gradient(135deg,var(--teal) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.value-picker{position:relative}.value-trigger{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;height:38px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 20px #b1639114;font-weight:800;cursor:pointer}.value-trigger svg{color:var(--teal);transform:rotate(90deg)}.value-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:35;width:min(320px,calc(100vw - 44px));padding:10px;border:1px solid rgba(218,190,222,.9);border-radius:14px;background:#fffafdfa;box-shadow:0 22px 60px #61436733;animation:date-pop .15s ease-out;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.value-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.value-option{display:grid;min-height:34px;place-items:center;color:#30283a;border:1px solid rgba(234,217,231,.9);border-radius:10px;background:#fff;font-size:.88rem;font-weight:850;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.value-option:hover{transform:translateY(-1px);color:#fff;border-color:var(--coral);background:linear-gradient(135deg,var(--coral) 0%,#b56ce6 100%);box-shadow:0 8px 18px #e96b9b33}.value-option.selected{color:#fff;border-color:var(--coral);background:linear-gradient(135deg,var(--coral) 0%,#b56ce6 100%);box-shadow:0 8px 18px #e96b9b3d}.choice-popover{right:0;left:auto;width:min(330px,calc(100vw - 44px))}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.choice-option{display:grid;min-height:38px;place-items:center;padding:7px;color:#30283a;border:1px solid rgba(234,217,231,.9);border-radius:10px;background:#fff;font-size:.8rem;font-weight:850;line-height:1.12;text-align:center;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.choice-option:hover{transform:translateY(-1px);color:#fff;border-color:var(--coral);background:linear-gradient(135deg,var(--coral) 0%,#b56ce6 100%);box-shadow:0 8px 18px #e96b9b33}.choice-option.selected{color:#fff;border-color:var(--coral);background:linear-gradient(135deg,var(--coral) 0%,#b56ce6 100%);box-shadow:0 8px 18px #e96b9b3d}.choice-advisory{display:grid;gap:5px;margin-top:8px;padding:10px;color:#55435f;border:1px solid rgba(107,104,184,.18);border-radius:10px;background:linear-gradient(135deg,#fff0f7,#f3f0ff);box-shadow:0 12px 28px #6143671f;font-size:.76rem;line-height:1.35}.choice-advisory strong{color:var(--ink);font-size:.78rem}.choice-advisory a{justify-self:start;color:var(--teal);font-weight:900;text-decoration:underline;text-underline-offset:2px}.date-picker{position:relative}.date-trigger{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;height:38px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 20px #b1639114;font-weight:800;cursor:pointer}.date-trigger svg{color:var(--teal)}.date-popover{position:absolute;top:calc(100% + 10px);left:0;z-index:40;width:min(310px,calc(100vw - 44px));padding:14px;color:var(--ink);border:1px solid rgba(218,190,222,.9);border-radius:14px;background:#fffafdfa;box-shadow:0 22px 60px #61436733;animation:date-pop .15s ease-out;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.date-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.date-month-year-controls{display:flex;flex:1;min-width:0;gap:6px}.date-month-year-controls select{min-width:0;height:34px;color:#30283a;border:1px solid rgba(107,104,184,.16);border-radius:9px;background:#fff;font:inherit;font-size:.84rem;font-weight:850;cursor:pointer}.date-month-select{flex:1}.date-year-select{width:88px}.date-popover-heading button{display:grid;width:34px;height:34px;place-items:center;color:var(--teal);border:1px solid rgba(107,104,184,.16);border-radius:50%;background:#fbf8ff;cursor:pointer}.date-weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.date-weekdays span{display:grid;min-height:24px;place-items:center;color:var(--muted);font-size:.72rem;font-weight:850}.date-day{display:grid;aspect-ratio:1;min-width:0;place-items:center;color:#30283a;border:1px solid rgba(234,217,231,.9);border-radius:10px;background:#fff;font-size:.82rem;font-weight:850;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.date-day:hover{transform:translateY(-1px);border-color:#e96b9b73;background:#fff0f7}.date-day.muted{color:#b8aebc;background:#ffffff8a}.date-day.selected{color:#fff;border-color:var(--coral);background:linear-gradient(135deg,var(--coral) 0%,#b56ce6 100%);box-shadow:0 8px 18px #e96b9b3d}@keyframes date-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.panel-actions{gap:8px}.primary-button,.secondary-button,.text-button,.reset-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border-radius:8px;font-weight:800;cursor:pointer}.primary-button{color:#fff;border:0;background:var(--coral)}.secondary-button{color:var(--teal);border:1px solid rgba(46,111,104,.26);background:#fff}.text-button{min-height:36px;margin-top:12px;padding:0;color:var(--muted);border:0;background:transparent;font-size:.88rem;text-decoration:underline;text-underline-offset:3px}.reset-link{justify-self:start;min-height:auto;padding:0;color:var(--muted);border:0;background:transparent;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:56px;padding:10px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#ffffff94}.tool-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 11px;color:#30283a;border:1px solid rgba(107,104,184,.18);border-radius:999px;background:#fff;font-size:.78rem;font-weight:850;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.tool-actions button:hover:not(:disabled){transform:translateY(-1px);color:var(--teal);border-color:#6b68b852;background:#fbf8ff}.tool-actions button:disabled{color:#8a7f91;cursor:not-allowed;opacity:.62}.tool-actions.ovulation-actions{flex-wrap:nowrap;gap:6px}.tool-actions.ovulation-actions button{flex:1 1 0;min-width:0;gap:5px;padding-inline:6px;font-size:.72rem;white-space:nowrap}.tool-actions.ovulation-actions .copy-summary-action .desktop-label{white-space:normal;line-height:1.05}.tool-actions svg{color:var(--teal);flex:0 0 auto}.mobile-label{display:none}.action-status{min-height:16px;margin:-2px 0 0;color:var(--muted);font-size:.72rem;font-weight:750}.signed-in-note{margin:-4px 0 0;color:var(--muted);font-size:.72rem}.medical-note{margin:10px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.accuracy-note{display:grid;gap:3px;margin:7px 0 0;padding:7px 8px;color:var(--muted);border:1px solid rgba(46,111,104,.16);border-radius:8px;background:#f8fffc;line-height:1.28}.accuracy-note strong{color:var(--teal)}.empty-result{display:grid;min-height:188px;place-content:center;gap:8px;color:var(--muted);text-align:center}.empty-result h2{margin:0;color:var(--teal);font-size:1.15rem}.empty-result p{max-width:460px;margin:0 auto;line-height:1.45}.cycle-calendar{display:grid;gap:6px;padding:10px;border:1px solid rgba(107,104,184,.16);border-radius:8px;background:#fbf8ff}.tool-rating-card{display:grid;gap:8px;min-height:76px;padding:11px 12px;border:1px solid rgba(217,210,255,.8);border-radius:8px;background:linear-gradient(135deg,#ffffffe0,#fff0f7bd),radial-gradient(circle at 100% 0%,rgba(217,210,255,.42),transparent 120px)}.tool-rating-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.tool-rating-card span{color:var(--muted);font-size:.74rem;font-weight:900}.tool-rating-card strong{color:var(--ink);font-size:.82rem;font-weight:950;white-space:nowrap}.rating-stars{display:flex;align-items:center;gap:4px}.rating-stars button{display:grid;width:30px;height:30px;place-items:center;padding:0;color:#c5bad0;border:1px solid rgba(217,210,255,.82);border-radius:999px;background:#ffffffb8;cursor:pointer;transition:transform .15s ease,color .15s ease,border-color .15s ease,background .15s ease}.rating-stars button.active{color:#d94f8b;border-color:#d94f8b57;background:#fff0f7f0}.rating-stars button.active svg{fill:currentColor}.rating-stars button:hover:not(:disabled){transform:translateY(-1px)}.rating-stars button:disabled{cursor:wait;opacity:.72}.tool-rating-card p,.tool-rating-card small{margin:0;color:var(--muted);font-size:.72rem;line-height:1.35}.tool-rating-card small{color:var(--violet);font-weight:850}.irregular-rating-slot{display:grid;width:min(760px,100%);margin:6px auto 0}.irregular-rating-slot .tool-rating-card{min-height:60px;grid-template-columns:minmax(0,1fr) auto minmax(120px,auto);align-items:center;gap:12px}.irregular-rating-slot .tool-rating-card p,.irregular-rating-slot .tool-rating-card small{justify-self:end;text-align:right}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink)}.calendar-heading span{display:inline-flex;align-items:center;gap:8px;color:var(--teal);font-weight:850}.calendar-heading strong{font-size:.95rem;text-align:end}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays span{display:grid;min-height:18px;place-items:center;color:var(--muted);font-size:.7rem;font-weight:850}.calendar-day{display:grid;aspect-ratio:1;min-width:0;place-items:center;color:#31413e;border:1px solid rgba(107,104,184,.08);border-radius:7px;background:#fff;font-size:.75rem;font-weight:800}.calendar-day.outside-month{color:#8d9a96;background:#ffffff7a}.calendar-day.period-window{color:#9f3764;border-color:#d957723d;background:#ffe3ef}.calendar-day.likely-period{color:#fff;border-color:var(--coral);background:var(--coral)}.calendar-day.ovulation-window{color:#5a4e99;border-color:#6b68b847;background:#e7e3ff}.calendar-day.fertile-window{color:#2d6b5e;border-color:#7aa89b47;background:#e1f5ef}.ovulation-calendar{background:radial-gradient(circle at 100% 0%,rgba(231,227,255,.72),transparent 128px),linear-gradient(180deg,#ffffffd1,#fbf8ffc7)}.ovulation-calendar .calendar-day.period-window{color:#9f3764b8;border-color:#d9577229;background:#ffe3ef8f}.ovulation-calendar .calendar-day.fertile-window{color:#225f53;border-color:#2d6b5e57;background:#d6f5ed;box-shadow:inset 0 0 0 1px #2d6b5e1a}.ovulation-calendar .calendar-day.ovulation-window{color:#fff;border-color:#6b68b894;background:linear-gradient(135deg,#6b68b8,#9b7ce3);box-shadow:0 8px 18px #6b68b838}.ovulation-calendar .calendar-day.likely-period{color:#9f3764;border-color:#d9577257;background:#ffe3ef}.fertility-calendar{background:radial-gradient(circle at 100% 0%,rgba(225,245,239,.86),transparent 136px),linear-gradient(180deg,#ffffffd6,#f0fbf7c7)}.fertility-calendar .calendar-day.period-window{color:#9f3764b3;border-color:#d9577229;background:#ffe3ef80}.fertility-calendar .calendar-day.fertile-window{color:#fff;border-color:#2d6b5e85;background:linear-gradient(135deg,#2d6b5e,#65b39c);box-shadow:0 8px 18px #2d6b5e38}.fertility-calendar .calendar-day.ovulation-window{color:#5a4e99;border-color:#6b68b857;background:#e7e3ff;box-shadow:inset 0 0 0 1px #6b68b814}.fertility-calendar .calendar-day.likely-period{color:#9f3764;border-color:#d957724d;background:#ffe3ef}.calendar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.15}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.calendar-legend i{width:14px;height:14px;border-radius:4px;flex:0 0 auto}.calendar-placeholder{min-height:auto}.legend-period{background:#ffe3ef;border:1px solid rgba(217,87,114,.35)}.legend-ovulation{background:#e7e3ff;border:1px solid rgba(107,104,184,.35)}.legend-fertile{background:#e1f5ef;border:1px solid rgba(122,168,155,.3)}.legend-likely{background:var(--coral)}.insight-band,.privacy-section,.ovulation-education{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(24px,5vw,70px);padding:clamp(44px,7vw,82px) clamp(18px,5vw,76px)}.insight-band{align-items:center;background:#f0fbf7}.insight-band h2,.privacy-section h2,.ovulation-education h2{margin-bottom:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insight-grid article{min-height:126px;padding:20px;border:1px solid rgba(46,111,104,.14);border-radius:8px;background:#fff}.insight-grid strong{display:block;margin-bottom:10px;color:var(--teal);font-size:1.4rem}.insight-grid span,.privacy-copy p{color:var(--muted);line-height:1.55}.privacy-section{align-items:start;background:var(--paper)}.ovulation-education{align-items:start;background:radial-gradient(circle at 12% 18%,rgba(231,227,255,.58),transparent 240px),#fff7fb}.ovulation-education-grid{display:grid;gap:12px}.ovulation-education-grid article{display:grid;gap:6px;padding:16px;border:1px solid rgba(217,210,255,.7);border-radius:8px;background:#ffffffb8}.ovulation-education-grid strong{color:var(--ink);font-size:1rem}.ovulation-education-grid span{color:var(--muted);font-size:.88rem;line-height:1.55}.privacy-copy p:not(.section-kicker){max-width:650px;margin-top:18px}.method-panel{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:14px 18px;background:#fff8f3}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:#241d2c5c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-modal{position:relative;display:grid;gap:16px;width:min(430px,100%);padding:24px;border:1px solid rgba(234,217,231,.95);border-radius:10px;background:#fffafdfa;box-shadow:0 24px 80px #241d2c38}.modal-close{position:absolute;top:12px;right:12px;z-index:3;display:grid;width:34px;height:34px;place-items:center;color:var(--teal);border:1px solid rgba(107,104,184,.16);border-radius:50%;background:#fff;cursor:pointer}.share-card-modal .modal-close{position:absolute;top:14px;right:14px;box-shadow:0 8px 20px #61436724}.auth-heading{display:grid;gap:7px;padding-right:28px}.auth-mark{display:grid;width:36px;height:36px;place-items:center;color:#fff;border-radius:12px;background:var(--coral)}.account-initials{font-size:.82rem;font-weight:900}.auth-heading p{margin:0;color:var(--teal);font-size:.72rem;font-weight:900;text-transform:uppercase}.auth-heading h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(1.55rem,5vw,2rem);line-height:1.08}.auth-heading span,.consent-box,.auth-footnote{color:var(--muted);line-height:1.42}.consent-box{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border:1px solid rgba(122,168,155,.22);border-radius:8px;background:#f8fffc;font-size:.86rem}.consent-box input{width:18px;height:18px;accent-color:var(--teal)}.auth-actions{display:grid;gap:10px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid rgba(234,217,231,.95);border-radius:10px;background:#fff}.auth-tabs button{min-height:36px;color:var(--ink);border:0;border-radius:7px;background:transparent;font-weight:850;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.auth-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--coral),var(--teal));box-shadow:0 10px 22px #6d64b838}.google-button,.email-signin button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;color:#fff;border:0;border-radius:8px;background:var(--teal);font-weight:850;cursor:pointer}.google-button span{display:grid;width:22px;height:22px;place-items:center;color:var(--teal);border-radius:50%;background:#fff;font-weight:900}.google-button small,.email-signin button small{font-size:.68rem;font-weight:700;opacity:.76}.google-button:disabled,.email-signin button:disabled{cursor:not-allowed;opacity:.58}.email-signin{display:grid;gap:10px}.email-signin label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:750}.email-signin input{height:42px;min-width:0;padding:0 12px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff}.forgot-password-link,.account-reset-link{color:var(--violet);font-weight:900;text-decoration:none}.forgot-password-link{justify-self:start;font-size:.8rem}.forgot-password-link:hover,.account-reset-link:hover{text-decoration:underline;text-underline-offset:3px}.auth-error{margin:0;padding:10px 12px;color:#9f315c;border:1px solid rgba(224,92,143,.28);border-radius:8px;background:#fff3f8;font-size:.82rem;font-weight:750}.auth-footnote{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding-top:2px;font-size:.78rem}.auth-footnote svg{color:var(--sage)}.account-reset-card{width:min(760px,100%)}.account-reset-form{display:grid;gap:12px;max-width:520px}.account-reset-form label{display:grid;gap:6px;color:var(--muted);font-size:.86rem;font-weight:850}.account-reset-form input{height:48px;min-width:0;padding:0 14px;color:var(--ink);border:1px solid rgba(234,217,231,.95);border-radius:8px;background:#fff;font-size:1rem}.account-reset-form button{display:inline-flex;width:fit-content;min-height:46px;align-items:center;justify-content:center;gap:8px;padding:0 18px;color:#fff;border:0;border-radius:999px;background:linear-gradient(135deg,var(--rose),var(--violet));font-weight:950;cursor:pointer;box-shadow:0 16px 34px #b057a02e}.account-reset-form button:disabled{color:#74697b;border:1px solid rgba(234,217,231,.95);background:#ffffffd1;box-shadow:none;cursor:not-allowed;opacity:1}.account-reset-form button:disabled svg{color:#8a7f91}.account-reset-status{margin:0;padding:12px 14px;border-radius:8px;font-size:.9rem;font-weight:800}.account-reset-status.success{color:#2f6f68;border:1px solid rgba(122,168,155,.38);background:#f1fbf7}.account-reset-status.error{color:#9f315c;border:1px solid rgba(224,92,143,.32);background:#fff3f8}.account-reset-note{margin:0;color:var(--muted);font-size:.9rem}.share-card-modal{position:relative;display:grid;width:min(1120px,calc(100vw - 56px));max-height:calc(100dvh - 64px);overflow:auto;padding:18px;border:1px solid rgba(234,217,231,.95);border-radius:12px;background:#fffafdfa;box-shadow:0 24px 80px #241d2c38}.share-card-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.share-card-preview{position:relative;display:grid;gap:8px;overflow:hidden;padding:16px;border:1px solid rgba(234,217,231,.95);border-radius:14px;background:radial-gradient(circle at 12% 12%,rgba(255,227,239,.95) 0 72px,transparent 73px),radial-gradient(circle at 90% 18%,rgba(217,210,255,.88) 0 62px,transparent 63px),linear-gradient(135deg,#fff0f7,#fbf8ff 52%,#effbf7)}.share-card-brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:900}.share-card-brand span{display:grid;width:32px;height:32px;place-items:center;color:#fff;border-radius:12px;background:var(--coral)}.share-card-kicker,.share-card-subtitle,.share-card-note,.share-card-details,.share-card-grid span,.share-card-status,.share-option{color:var(--muted)}.share-card-kicker{margin:2px 0 -5px;color:var(--teal);font-size:.72rem;font-weight:900;text-transform:uppercase}.share-card-preview h2{margin:0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:clamp(2rem,4vw,2.55rem);line-height:1.05}.share-card-subtitle{margin:-6px 0 4px;font-weight:700}.share-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-card-grid div{display:grid;gap:4px;min-height:72px;padding:9px 10px;border:1px solid rgba(234,217,231,.82);border-radius:10px;background:#ffffffbd}.share-card-grid span{font-size:.72rem;font-weight:850}.share-card-grid strong{color:var(--ink);font-size:.84rem;line-height:1.25}.share-card-details{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(107,104,184,.14);border-radius:10px;background:#ffffffb8;font-size:.78rem;font-weight:700}.share-card-note-box{display:grid;gap:5px;padding:12px;border:1px solid rgba(233,107,155,.18);border-radius:10px;background:#fff0f7cc}.share-card-note-box span{color:var(--teal);font-size:.72rem;font-weight:900}.share-card-note-box p{margin:0;color:var(--ink);font-size:.88rem;font-weight:750;line-height:1.35}.share-mini-calendar{display:grid;gap:5px;padding:8px;border:1px solid rgba(234,217,231,.82);border-radius:10px;background:#ffffffc2}.share-mini-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.share-mini-calendar-heading span{color:var(--teal);font-size:.78rem;font-weight:900}.share-mini-calendar-heading strong{color:var(--ink);font-size:.82rem}.share-mini-weekdays,.share-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.share-mini-weekdays span{display:grid;min-height:15px;place-items:center;color:var(--muted);font-size:.68rem;font-weight:900}.share-mini-day{display:grid;min-height:22px;place-items:center;color:#31413e;border:1px solid rgba(107,104,184,.08);border-radius:7px;background:#fff;font-size:.68rem;font-weight:900}.share-mini-day.period-window{color:#9f3764;border-color:#d957723d;background:#ffe3ef}.share-mini-day.likely-period{color:#fff;border-color:var(--coral);background:var(--coral)}.share-mini-day.ovulation-window{color:#5a4e99;border-color:#6b68b847;background:#e7e3ff}.share-mini-day.fertile-window{color:#2d6b5e;border-color:#7aa89b47;background:#e1f5ef}.share-mini-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 8px;color:var(--muted);font-size:.68rem;font-weight:750}.share-mini-legend span{display:inline-flex;align-items:center;gap:6px}.share-mini-legend i{width:11px;height:11px;border-radius:4px;flex:0 0 auto}.share-card-note{margin:0;font-size:.76rem;font-weight:700}.share-card-controls{display:grid;gap:14px;padding:20px;border:1px solid rgba(234,217,231,.9);border-radius:12px;background:#ffffffad}.share-option{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;font-size:.82rem;font-weight:750}.share-option input{width:17px;height:17px;accent-color:var(--teal)}.share-note-field{display:grid;gap:6px;color:var(--muted);font-size:.8rem;font-weight:750}.share-note-field textarea{min-height:132px;resize:vertical;padding:10px 12px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;line-height:1.35}.share-note-field small{justify-self:end;color:var(--muted);font-size:.72rem}.share-card-actions{display:grid;grid-template-columns:1fr;gap:10px}.share-card-actions button{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:0 16px;border-radius:12px;font-size:.88rem;font-weight:900;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.share-card-actions button:hover{transform:translateY(-1px)}.share-card-actions svg{flex:0 0 auto}.share-action-primary{color:#fff;border:0;background:linear-gradient(135deg,var(--coral),var(--teal));box-shadow:0 14px 28px #e96b9b3d}.share-action-secondary{color:var(--ink);border:1px solid rgba(107,104,184,.22);background:#ffffffeb;box-shadow:0 10px 22px #61436714}.share-action-secondary svg{color:var(--teal)}.share-card-status{min-height:18px;margin:0;font-size:.76rem;font-weight:750}.account-summary{display:grid;gap:8px}.account-summary .result-row,.saved-cycle-grid .result-row{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff0f77a}.account-summary .result-row strong,.saved-cycle-grid .result-row strong{text-align:start}.saved-cycle-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(107,104,184,.16);border-radius:8px;background:#fbf8ff}.saved-cycle-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.saved-cycle-heading strong,.empty-saved-cycle strong{color:var(--ink)}.saved-cycle-heading span,.empty-saved-cycle span{color:var(--muted);font-size:.76rem;line-height:1.35}.saved-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.delete-cycle-button{justify-self:start;min-height:34px;padding:0 12px;color:var(--coral-dark);border:1px solid rgba(233,107,155,.24);border-radius:999px;background:#fff;font-size:.78rem;font-weight:850;cursor:pointer}.signout-button{min-height:42px;color:var(--teal);border:1px solid rgba(107,104,184,.22);border-radius:8px;background:#fff;font-weight:850;cursor:pointer}@media(min-width:1181px)and (max-width:1320px){.site-header{gap:12px;padding-inline:32px}.main-nav{gap:4px}.main-nav a{padding-inline:10px;font-size:.91rem}}@media(max-width:1180px){.site-header{align-items:stretch;flex-wrap:wrap}.main-nav{order:3;width:100%;overflow-x:auto;border-radius:8px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand-block{grid-column:1 / -1}.tool-seo-guide-grid,.pwa-install-grid,.helpful-features-grid,.how-to-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-seo-guide-section,.pwa-install-guide-section,.helpful-features-section,.results-guide-section,.how-to-use-section,.tool-blog-section,.pwa-install-copy,.pwa-install-grid,.pwa-install-note,.results-guide-layout,.results-guide-actions,.results-example-card,.results-interpretation-card,.results-guide-table-card,.how-to-step-card,.how-to-preview{min-width:0}.tool-seo-guide-grid article,.pwa-install-grid article,.helpful-features-grid article,.results-example-card,.results-interpretation-card,.results-guide-actions article,.how-to-step-card{min-height:0}.pwa-install-note span,.pwa-checklist-preview span{white-space:normal;overflow-wrap:anywhere}.tool-blog-heading{grid-template-columns:1fr}.tool-blog-controls{justify-self:start}.tool-blog-carousel{grid-auto-columns:minmax(260px,48%)}}@media(max-width:980px){.site-header{align-items:stretch;flex-wrap:wrap}.main-nav{order:3;width:100%;overflow-x:auto;border-radius:8px}.hero-content,.insight-band,.privacy-section,.ovulation-education{grid-template-columns:1fr}.hero-content{align-items:start}.tracker-workspace{grid-template-columns:1fr}.timeline-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.methodology-grid{grid-template-columns:1fr}.more-tools-grid,.tool-seo-guide-grid,.pwa-install-grid,.helpful-features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-guide-layout,.results-guide-actions,.results-example-columns,.tool-blog-heading{grid-template-columns:1fr}.tool-blog-controls{justify-self:start}.tool-blog-carousel{grid-auto-columns:minmax(260px,48%)}.tool-blog-card{min-height:250px}.period-faq-list{grid-template-columns:1fr}.more-tool-card{min-height:156px}.how-to-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.how-to-step-card{min-height:0}.calculation-page{padding-top:104px}.calculation-toc div,.calculation-highlight-grid,.sitemap-link-grid,.blog-index-grid,.formula-card-grid,.calculation-comparison,.record-count-grid,.accuracy-columns,.article-layout,.article-featured-summary{grid-template-columns:1fr}.blog-featured-image img{height:auto;min-height:0;max-height:none}.article-toc{position:static}.gate-feature-grid,.history-summary-grid,.record-forecast-card,.record-forecast-metrics{grid-template-columns:1fr}.forecast-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-explanation-grid,.pattern-chart-explainer,.pattern-chart-body{grid-template-columns:1fr}.cycle-record-form{overflow:visible}.cycle-record-head{display:none}.cycle-record-entry{min-width:0;grid-template-columns:1fr;gap:10px;padding:12px}.cycle-record-entry>div[role=cell]{display:grid;gap:6px;min-width:0}.record-mobile-label{display:inline-flex;align-items:center;gap:3px;color:var(--teal);font-size:.72rem;font-weight:900;text-transform:uppercase}.record-mobile-label i{color:var(--teal);font-style:normal}.record-serial{width:auto;height:auto;justify-self:start;padding:5px 10px;border-radius:999px}.cycle-record-entry .date-trigger,.cycle-record-entry .value-trigger,.record-flow-select,.record-note-input{width:100%}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand-block{grid-column:1 / -1}}@media(min-width:981px){.form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label{font-size:.8rem}.result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.result-row{display:grid;gap:4px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.result-row strong{text-align:start}}@media(max-width:680px){.site-header{align-items:center;flex-wrap:wrap;gap:8px;min-height:56px;padding:8px 12px}.brand{min-width:0}.site-header .brand>span:last-child{font-size:1.12rem;font-weight:900;line-height:1}.main-nav{display:none}.header-actions{margin-left:auto}.header-actions>.language-button{display:none}.mobile-menu-toggle{display:grid}.mobile-menu.open{display:grid;gap:8px}.hero{min-height:auto}.hero-background{background:linear-gradient(180deg,#fff7fbfa,#fff7fbeb 56%,#fff7fbd1),url(/images/cycle-pastel-background.png) center top / cover no-repeat}@supports (background-image: image-set(url(/images/cycle-pastel-background.webp) type("image/webp"))){.hero-background{background:linear-gradient(180deg,#fff7fbfa,#fff7fbeb 56%,#fff7fbd1),image-set(url(/images/cycle-pastel-background.webp) type("image/webp"),url(/images/cycle-pastel-background.png) type("image/png")) center top / cover no-repeat}}.hero-content{min-height:auto;width:min(1180px,calc(100% - 24px));gap:16px;padding-top:30px}.hero-copy{justify-self:center;width:min(100%,320px);text-align:center}.hero-copy>p:not(.eyebrow){display:none}.hero-copy .eyebrow,.hero-badges{justify-content:center}h1{font-size:clamp(1.85rem,9vw,2.4rem);width:100%}.hero-badges{display:none}.account-benefits-strip{width:min(100%,340px);padding:11px}.account-benefits-body{display:grid;gap:9px}.account-benefit-chips{gap:6px}.account-benefit-chips span{min-height:30px;padding:6px 9px;font-size:.72rem}.account-benefit-actions{width:100%}.account-benefit-actions button{flex:1 1 0;min-height:34px;padding:7px 9px;font-size:.76rem}.period-records-panel{padding:12px}.period-records-table{min-width:980px}.cycle-timeline,.cycle-records-panel{padding:10px}.cycle-record-form{padding:8px}.cycle-record-entry{padding:10px}.irregular-signup-gate{padding:16px}.gate-feature-grid{grid-template-columns:1fr}.gate-actions{align-items:stretch}.primary-gate-button{width:100%}.timeline-heading{display:grid;gap:12px}.timeline-card-grid{grid-template-columns:1fr}.report-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.irregular-rating-slot .tool-rating-card{grid-template-columns:1fr}.irregular-rating-slot .tool-rating-card p,.irregular-rating-slot .tool-rating-card small{justify-self:start;text-align:left}.report-actions-grid button{min-height:40px;padding:0 8px;font-size:.72rem}.irregular-methodology{padding:14px}.pattern-charts{padding:12px}.pattern-chart-explainer,.pattern-chart-body,.history-summary-grid{grid-template-columns:1fr}.record-forecast-card{grid-template-columns:1fr;padding:12px}.record-forecast-metrics,.forecast-metric-grid,.forecast-explanation-grid{grid-template-columns:1fr}.record-row{display:grid}.record-row-actions{width:100%}.record-row-actions button{flex:1}.tracker-panel{padding:9px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.form-grid label{font-size:.72rem}.field-label{min-height:20px}.date-trigger,.value-trigger{height:36px;padding:0 8px;font-size:.78rem}.required-note{font-size:.68rem}.date-popover{position:absolute;top:calc(100% + 6px);right:auto;bottom:auto;left:0;width:min(326px,calc(100vw - 36px));max-height:min(62vh,420px);overflow:auto}.value-popover{position:absolute;top:calc(100% + 6px);right:auto;bottom:auto;left:0;width:min(320px,calc(100vw - 36px));max-height:min(58vh,380px);overflow:auto}.choice-popover{right:auto;left:0;width:min(320px,calc(100vw - 36px))}.form-grid label:nth-child(2n) .value-popover{right:0;left:auto}.insight-grid,.calendar-legend{grid-template-columns:1fr}.panel-actions,.medical-note{display:none}.accuracy-note{font-size:.78rem;line-height:1.25;padding:7px 8px}.cycle-calendar{display:grid;padding:9px}.desktop-label{display:none}.mobile-label{display:inline}.tool-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px}.tool-actions.ovulation-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-actions button{width:100%;min-height:38px;padding:0 6px;font-size:.72rem}.modal-backdrop{place-items:start center;overflow:auto;padding:10px}.share-card-backdrop{align-items:start;padding-top:calc(72px + env(safe-area-inset-top))}.share-card-modal{width:min(100%,620px);max-height:calc(100dvh - 82px - env(safe-area-inset-top));padding:14px;scroll-margin-top:0}.share-card-layout{grid-template-columns:1fr;gap:12px}.share-card-controls{order:-1;padding:14px}.share-card-preview{padding:16px}.share-card-grid{grid-template-columns:1fr}.share-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.share-card-actions button{justify-content:center;min-height:38px;padding:0 7px;font-size:.72rem}.share-mini-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-cycle-grid{grid-template-columns:1fr}.saved-cycle-heading{display:grid}.calendar-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding:26px 14px 18px}.footer-main{grid-template-columns:1fr;gap:18px}.more-tools-grid,.tool-seo-guide-grid,.pwa-install-grid,.helpful-features-grid{grid-template-columns:1fr}.tool-seo-guide-grid article,.pwa-install-grid article,.helpful-features-grid article{min-height:0}.tool-blog-carousel{grid-auto-columns:minmax(250px,88%)}.more-tool-card{min-height:0;grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center}.how-to-step-grid{grid-template-columns:1fr}.footer-brand-block p{max-width:none}.footer-bottom{display:grid;gap:7px;justify-items:start}}@media(min-width:481px)and (max-width:680px){.result-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-row{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#ffffffb8}.result-row strong{text-align:start}}@media(min-width:981px){.hero-copy>p:not(.eyebrow){white-space:normal}.calculation-hero h1{font-size:clamp(2rem,2.7vw,2.75rem);white-space:normal}.blog-article-hero h1{white-space:normal}}@media(max-width:480px){.calculation-page.blog-article-page{width:100%;max-width:100vw;overflow-x:hidden;padding-inline:14px}.calculation-page.blog-article-page .calculation-breadcrumb,.calculation-page.blog-article-page .blog-article-shell,.calculation-page.blog-article-page .calculation-hero,.calculation-page.blog-article-page .article-featured-summary,.calculation-page.blog-article-page .article-layout,.calculation-page.blog-article-page .calculation-section,.calculation-page.blog-article-page .article-body-card,.calculation-page.blog-article-page .article-body{width:100%;max-width:calc(100vw - 28px);min-width:0}.calculation-page.blog-article-page .calculation-hero,.calculation-page.blog-article-page .article-body-card{padding-inline:20px}.calculation-page.blog-article-page .article-meta-row span,.calculation-page.blog-article-page .medical-review-badge,.calculation-page.blog-article-page .medical-review-badge span,.calculation-page.blog-article-page .article-takeaways li,.calculation-page.blog-article-page .article-takeaways li span,.calculation-page.blog-article-page .article-body p,.calculation-page.blog-article-page .article-body li,.calculation-page.blog-article-page .article-inline-figure figcaption{max-width:100%;overflow-wrap:anywhere}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-row{flex-direction:column;gap:4px}.result-row strong{text-align:start}}.trust-page,.calculation-page.editorial-policy-page,.calculation-page.accessibility-page,.calculation-page.privacy-policy-page,.calculation-page.privacy-first-page,.calculation-page.terms-page,.calculation-page.disclaimer-page,.calculation-page.medical-disclaimer-page,.calculation-page.cookie-policy-page,.calculation-page.contact-page,.calculation-page.sitemap-page,.calculation-page.rss-page{padding-top:clamp(32px,4vw,56px);gap:clamp(16px,2vw,20px)}.trust-page .trust-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.trust-page .trust-card{display:grid;gap:14px;min-width:0;padding:20px;border:1px solid rgba(217,210,255,.94);border-radius:8px;background:linear-gradient(135deg,#fffffff0,#fdf8ffeb)}.trust-page .trust-card-featured{grid-template-columns:minmax(112px,160px) 1fr;align-items:center}.trust-page .trust-card img{width:min(160px,100%);height:auto;border-radius:8px;object-fit:contain}.trust-page .trust-card strong{display:block;margin-bottom:8px;color:var(--ink);font-size:1.08rem}.trust-page a.trust-card{color:inherit;text-decoration:none}.get-involved-contact{display:grid;gap:14px}.get-involved-contact .button-link{width:fit-content}.certification-showcase-grid{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,.95fr);gap:clamp(18px,4vw,34px);align-items:start}.certificate-preview{display:grid;gap:10px;margin:0}.certificate-preview img{width:100%;height:auto;border:1px solid rgba(217,210,255,.94);border-radius:8px;background:#fff;box-shadow:0 20px 50px #7452721f}.certificate-preview figcaption,.certification-detail-list dt{color:var(--muted);font-size:.86rem;font-weight:750}.certification-detail-list{display:grid;gap:14px}.certification-detail-list dl{display:grid;gap:10px;margin:0}.certification-detail-list dl div{display:grid;gap:4px;padding:14px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#ffffffb8}.certification-detail-list dt{color:var(--violet);letter-spacing:.06em;text-transform:uppercase}.certification-detail-list dd{margin:0;color:var(--ink);font-weight:850;line-height:1.5}@media(max-width:760px){.trust-page .trust-card-featured,.certification-showcase-grid{grid-template-columns:1fr}}.get-involved-trust-links{gap:10px;padding-block:clamp(22px,4vw,30px)}.get-involved-trust-links h2{margin-bottom:2px}.get-involved-link-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.get-involved-link-card{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;color:var(--teal);text-decoration:none;border:1px solid rgba(217,210,255,.94);border-radius:8px;background:#ffffffc7;font-weight:850;line-height:1.2}.get-involved-link-card strong{color:inherit;font-size:.96rem;line-height:1.2}.get-involved-link-card:hover{border-color:#b49dfffa;background:#fffffff2}@media(max-width:560px){.get-involved-link-grid{align-items:stretch}.get-involved-link-card{width:100%;justify-content:flex-start}}
