@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;--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}.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}.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}.single-nav{min-width:138px;justify-content:center}.header-actions{gap:10px}.language-button{min-width:86px;min-height:38px;padding:0 14px;color:var(--teal);border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:800;cursor:pointer}.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)}.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}.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}.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-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}.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}.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}.timeline-insights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.timeline-insights article{display:grid;gap:4px;min-height:78px;padding:12px;border:1px solid rgba(234,217,231,.9);border-radius:8px;background:#ffffffb3}.timeline-insights strong{color:var(--ink);font-size:1rem}.timeline-insights span{color:var(--muted);font-size:.72rem;font-weight:800}.history-summary-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:12px;align-items:start}.record-forecast-card{display:grid;min-height:100%;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)}.record-forecast-card span:first-child{color:var(--teal);font-size:.72rem;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-grid{display:grid;gap:8px;justify-items:start}.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-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pattern-chart-card{display:grid;gap:10px;min-width:0;padding:12px;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}.cycle-line-chart,.period-bar-chart{width:100%;min-height:180px}.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:5}.cycle-line-point{fill:var(--coral);stroke:#fff;stroke-width:4}.period-bar{fill:#ffe3ef;stroke:#d9577247;stroke-width:1}.chart-axis-label{fill:var(--muted);font-size:14px;font-weight:800}.chart-value-label{fill:var(--ink);font-size:15px;font-weight:900}.chart-average-label{fill:var(--teal);font-size:14px;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}.timeline-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;flex:0 0 auto;padding:4px;border:1px solid rgba(107,104,184,.16);border-radius:999px;background:#ffffffc7}.timeline-tabs button{min-height:34px;padding:0 14px;color:var(--muted);border:0;border-radius:999px;background:transparent;font-size:.78rem;font-weight:850;cursor:pointer}.timeline-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--coral),var(--teal));box-shadow:0 8px 18px #e96b9b2e}.timeline-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.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)}.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}.timeline-table-wrap{overflow-x:auto;border:1px solid rgba(234,217,231,.88);border-radius:8px;background:#ffffffb3}.timeline-table{width:100%;min-width:760px;border-collapse:collapse;color:var(--muted);font-size:.78rem}.timeline-table th,.timeline-table td{padding:10px 12px;border-bottom:1px solid rgba(234,217,231,.74);text-align:left;white-space:nowrap}.timeline-table th{color:var(--teal);background:#fbf8ffad;font-weight:900}.timeline-table tr:last-child td{border-bottom:0}.timeline-table td:first-child,.timeline-table td:last-child{color:var(--ink);font-weight:800}.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}.cycle-record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end;padding:12px;border:1px solid rgba(234,217,231,.86);border-radius:8px;background:#fffafdc2}.cycle-record-form label{position:relative;display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:850}.record-note-field input{min-width:0;height:38px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:750}.record-form-actions{display:inline-flex;gap:7px;grid-column:1 / -1}.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-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 div:first-child{display:grid;gap:3px;min-width:0}.record-row strong{color:var(--ink)}.record-row span,.empty-records{color:var(--muted);font-size:.78rem;line-height:1.35}.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}.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.25rem,2.6vw,1.65rem);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}.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}.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:12px;margin-bottom:10px}.date-popover-heading strong{color:#30283a;font-size:.96rem}.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 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}.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}.calendar-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;color:var(--muted);font-size:.7rem;line-height:1.15}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.calendar-legend i{width:12px;height:12px;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{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{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)}.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}.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)}.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(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{grid-template-columns:1fr}.hero-content{align-items:start}.tracker-workspace{grid-template-columns:1fr}.timeline-card-grid,.timeline-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.history-summary-grid,.record-forecast-card{grid-template-columns:1fr}.cycle-record-form{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-chart-grid{grid-template-columns:1fr}.record-note-field,.record-form-actions{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}.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}.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}.period-records-panel{padding:12px}.period-records-table{min-width:980px}.cycle-timeline{padding:12px}.timeline-heading{display:grid;gap:12px}.timeline-tabs{width:100%}.timeline-tabs button{padding:0 8px;font-size:.72rem}.timeline-card-grid{grid-template-columns:1fr}.pattern-charts{padding:12px}.pattern-chart-grid,.timeline-insights,.history-summary-grid{grid-template-columns:1fr}.record-forecast-card{grid-template-columns:1fr;padding:12px}.cycle-record-form{grid-template-columns:1fr}.record-row{display:grid}.record-row-actions{width:100%}.record-row-actions button{flex:1}.timeline-table{min-width:700px}.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 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))}}@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:nowrap}}@media(max-width:480px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-row{flex-direction:column;gap:4px}.result-row strong{text-align:start}}
