.nav{z-index:100;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-glass);position:sticky;top:0}.nav-inner{max-width:1200px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;height:56px;margin:0 auto;display:flex}.nav-logo{align-items:center;gap:var(--space-xs);color:var(--text-primary);font-size:16px;font-weight:600;text-decoration:none;display:flex}.nav-logo:hover{text-decoration:none}.nav-links{gap:var(--space-xs);margin-left:auto;margin-right:var(--space-md);display:flex}.nav-link-r{border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:all .2s}.nav-link-r:hover{background:var(--bg-card);color:var(--text-primary);text-decoration:none}.nav-link-r.active{background:var(--bg-card);color:var(--link)}@media (width<=500px){.nav-link-r{display:none}.nav-links .nav-link-r:last-child{display:inline}}.theme-toggle{border:1px solid var(--border-glass);border-radius:var(--radius-full);cursor:pointer;width:36px;height:36px;color:var(--text-primary);background:0 0;background:var(--bg-card);justify-content:center;align-items:center;transition:background .2s,transform .2s;display:flex}.theme-toggle:hover{background:var(--bg-card-hover);transform:scale(1.05)}html:not(.dark) .sun-icon{display:block}html:not(.dark) .moon-icon,html.dark .sun-icon{display:none}html.dark .moon-icon{display:block}.main{max-width:1200px;padding:0 var(--space-md);margin:0 auto}.hero{padding:var(--space-5xl) var(--space-md) var(--space-4xl);text-align:center;position:relative;overflow:hidden}.hero-bg{pointer-events:none;background:radial-gradient(at 20% 30%,#e843731f 0%,#0000 50%),radial-gradient(at 80% 40%,#a29bfe17 0%,#0000 50%),radial-gradient(at 50% 80%,#fd79a80f 0%,#0000 50%);position:absolute;inset:0}html.dark .hero-bg{background:radial-gradient(at 20% 30%,#e843732e 0%,#0000 50%),radial-gradient(at 80% 40%,#a29bfe24 0%,#0000 50%),radial-gradient(at 50% 80%,#fd79a81a 0%,#0000 50%)}.hero-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{opacity:.3;border-radius:50%;position:absolute}.p1{background:radial-gradient(circle,#e843731a,#0000);width:400px;height:400px;animation:10s ease-in-out infinite float;top:-150px;left:-100px}.p2{background:radial-gradient(circle,#a29bfe14,#0000);width:280px;height:280px;animation:8s ease-in-out infinite reverse float;bottom:-80px;right:-60px}.p3{background:radial-gradient(circle,#fd79a812,#0000);width:200px;height:200px;animation:12s ease-in-out 2s infinite float;top:20%;left:70%}.p4{background:radial-gradient(circle,#ff00800f,#0000);width:160px;height:160px;animation:9s ease-in-out 4s infinite float;top:60%;left:10%}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}.hero-content{z-index:1;position:relative}.hero-badge{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-glass);font-size:11px;font-family:var(--font-mono);color:var(--text-mute);margin-bottom:var(--space-md);letter-spacing:.5px;text-transform:uppercase;padding:4px 14px;display:inline-block}.hero-title{letter-spacing:-2.4px;margin:0 0 var(--space-sm);color:var(--text-primary);font-size:clamp(36px,6vw,56px);font-weight:600;line-height:1.05}.hero-subtitle{color:var(--text-secondary);max-width:560px;margin:0 auto;font-size:17px;line-height:1.6}.calculator-section{padding-bottom:var(--space-4xl)}.calculator-grid{gap:var(--space-lg);grid-template-columns:380px 1fr;align-items:start;display:grid}@media (width<=800px){.calculator-grid{grid-template-columns:1fr}}.inputs-card{padding:var(--space-xl)}.section-title{margin:0 0 var(--space-md);font-size:16px;font-weight:600}.input-group{margin-bottom:var(--space-md)}.input-group label{color:var(--text-secondary);margin-bottom:var(--space-xs);font-size:12px;font-weight:500;display:block}.input-note{color:var(--text-mute);margin:var(--space-xs) 0 0;font-size:11px;line-height:1.5}.optional{color:var(--text-mute);font-size:10px;font-weight:400}.field-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=450px){.field-row{grid-template-columns:1fr}}.input-with-unit{position:relative}.input-num-oc{border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:var(--bg-card);width:100%;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;padding:10px 48px 10px 12px}.input-num-oc:focus{border-color:var(--oc-accent)}.field-unit{color:var(--text-mute);pointer-events:none;font-size:11px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.date-input-wrapper{position:relative}.input-date{border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:var(--bg-card);width:100%;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;padding:10px 44px 10px 12px}.input-date:focus{border-color:var(--oc-accent)}.input-date::-webkit-calendar-picker-indicator{filter:var(--date-icon-filter,none)}html.dark .input-date::-webkit-calendar-picker-indicator{filter:invert()}.date-icon{color:var(--text-mute);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.input-textarea{border-radius:var(--radius-sm);border:1px solid var(--border-glass);background:var(--bg-card);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);resize:vertical;outline:none;padding:10px 12px}.input-textarea:focus{border-color:var(--oc-accent)}.toggle-group{align-items:center;gap:var(--space-xs);flex-flow:wrap;padding-top:4px}.toggle-group label{margin-right:auto}.toggle-switch{cursor:pointer;display:inline-flex}.toggle-switch input{display:none}.toggle-track{background:var(--hairline);border:1px solid var(--border-glass);border-radius:12px;width:44px;height:24px;transition:background .3s;position:relative}.toggle-switch input:checked+.toggle-track{background:var(--oc-accent);border-color:var(--oc-accent)}.toggle-knob{background:var(--text-primary);border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-track .toggle-knob{background:#fff;left:22px}.toggle-label{color:var(--text-mute);font-size:12px;font-weight:500}.advanced-toggle{margin-top:var(--space-xs)}.advanced-toggle summary{cursor:pointer;color:var(--text-secondary);user-select:none;padding:8px 0;font-size:12px;font-weight:500}.advanced-toggle summary:hover{color:var(--text-primary)}.advanced-fields{gap:var(--space-md);padding:var(--space-md) 0 0;flex-direction:column;display:flex}.calc-btn{width:100%;margin-top:var(--space-lg);border-radius:var(--radius-md);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-xs);background:linear-gradient(135deg,#e84373,#fd79a8);border:none;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.calc-btn:hover{opacity:.9;transform:translateY(-1px)}.results-panel{gap:var(--space-md);flex-direction:column;display:flex}.result-card{padding:var(--space-xl)}.result-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.result-primary{gap:var(--space-lg);align-items:center;display:flex}@media (width<=600px){.result-primary{text-align:center;flex-direction:column}}.cycle-day-ring{flex-shrink:0}.progress-ring{width:160px;height:160px;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--hairline);stroke-width:10px}.ring-fill{fill:none;stroke:url(#ringGradient);stroke-width:10px;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1)}.progress-ring text{transform-origin:100px 100px;transform:rotate(90deg)}.ring-text{fill:var(--text-primary);font-size:2.75rem;font-weight:800;font-family:var(--font-sans);dominant-baseline:central}.ring-label{fill:var(--text-tertiary);font-size:.7rem;font-weight:500;font-family:var(--font-sans);dominant-baseline:central}.result-intake{gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.intake-item{align-items:center;gap:var(--space-sm);display:flex}.intake-item.highlight-item{background:var(--bg-card);border-radius:var(--radius-sm);border-left:3px solid var(--oc-accent);padding:12px 16px}.intake-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--oc-accent);background:#e843731a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.intake-label{color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10px;display:block}.intake-value{color:var(--text-primary);font-size:14px;font-weight:700}.result-details{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}@media (width<=500px){.result-details{grid-template-columns:1fr}}.detail-card{align-items:center;gap:var(--space-xs);background:var(--bg-card);border-radius:var(--radius-sm);padding:10px 12px;display:flex}.detail-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--oc-accent);background:#e843731a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-label{color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10px}.detail-value{font-size:13px;font-weight:700}.summary-card-inner{margin-top:var(--space-md);padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-sm);border-left:3px solid var(--oc-accent)}.summary-card-inner h4{margin:0 0 var(--space-xs);font-size:13px;font-weight:600}.summary-card-inner p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.badge{border-radius:100px;align-items:center;padding:3px 12px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:#00b894;background:#00b89426}.badge-info{color:#74b9ff;background:#74b9ff26}.badge-warning{color:#fdcb6e;background:#fdcb6e26}.badge-danger{color:#e17055;background:#e1705526}.dash-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=700px){.dash-grid{grid-template-columns:1fr}}.dash-full{grid-column:1/-1}.dash-card{padding:var(--space-lg)}.dash-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.dash-header h3{margin:0;font-size:14px;font-weight:600}.calendar-legend{gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.calendar-nav-oc{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.cal-nav-btn{background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);border:1px solid var(--border-glass);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.cal-nav-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.cal-month-label{text-align:center;min-width:140px;font-size:14px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-day-header{text-align:center;color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;padding:6px 0;font-size:10px;font-weight:600}.cal-day{aspect-ratio:1;border-radius:var(--radius-xs);cursor:default;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:all .2s;display:flex;position:relative}.cal-day.other-month{opacity:.15}.cal-day.today{box-shadow:inset 0 0 0 2px var(--oc-accent);font-weight:800}.cal-day.phase-menstrual{color:#e17055;background:#e1705533}.cal-day.phase-follicular{color:#00cec9;background:#00cec926}.cal-day.phase-ovulation{color:#fdcb6e;background:#fdcb6e40;font-weight:700}.cal-day.phase-luteal{color:#6c5ce7;background:#6c5ce726}.cal-day.phase-fertile{color:#fd79a8;background:#fd79a833}.cal-day.phase-fertile:after{content:"";background:#fd79a8;border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.cal-day.phase-ovulation:after{content:"";background:#fdcb6e;border-radius:50%;width:5px;height:5px;position:absolute;bottom:2px;left:50%;transform:translate(-50%);box-shadow:0 0 4px #fdcb6e}.cal-day.has-period{text-underline-offset:2px;text-decoration:underline 2px #e17055}.timeline-container{padding:4px 0 0;position:relative}.timeline-track{border-radius:var(--radius-sm);height:32px;margin-bottom:6px;display:flex;overflow:hidden}.timeline-phase{color:#ffffffe6;text-transform:uppercase;letter-spacing:.3px;justify-content:center;align-items:center;font-size:10px;font-weight:600;transition:all .3s;display:flex}.timeline-phase[data-phase=menstrual]{background:#e17055}.timeline-phase[data-phase=follicular]{background:#00cec9}.timeline-phase[data-phase=ovulation]{color:#000000b3;background:#fdcb6e}.timeline-phase[data-phase=luteal]{background:#6c5ce7}.timeline-marker{z-index:2;flex-direction:column;align-items:center;transition:left .6s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:-4px;transform:translate(-50%)}.marker-dot{background:var(--oc-accent);border:2px solid var(--bg-primary);width:10px;height:10px;box-shadow:0 0 0 2px var(--oc-accent);border-radius:50%}.marker-text{color:var(--oc-accent);white-space:nowrap;margin-top:2px;font-size:9px;font-weight:700}.timeline-days{margin-top:var(--space-xs);justify-content:space-between;display:flex}.timeline-day-label{color:var(--text-mute);text-align:center;font-size:10px}.timeline-day-label strong{color:var(--text-secondary);margin-bottom:2px;font-size:11px;display:block}.fertility-gauge{justify-content:center;padding:8px 0;display:flex}.gauge-svg{width:180px;height:180px}.gauge-track-ring{fill:none;stroke:var(--hairline);stroke-width:12px}.gauge-fill-ring{fill:none;stroke:url(#gaugeGradient);stroke-width:12px;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1)}.gauge-value{fill:var(--text-primary);font-size:2rem;font-weight:800;font-family:var(--font-sans);dominant-baseline:central}.gauge-label{fill:var(--text-tertiary);font-size:.7rem;font-weight:500;font-family:var(--font-sans);dominant-baseline:central}.health-metrics{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.health-item-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.health-label{color:var(--text-secondary);font-size:12px}.health-score{font-size:12px;font-weight:700}.health-bar{background:var(--hairline);border-radius:3px;width:100%;height:6px;overflow:hidden}.health-bar-fill{background:linear-gradient(90deg, var(--oc-accent), #fd79a8);border-radius:3px;height:100%;transition:width .5s}.cycle-status-message{align-items:flex-start;gap:var(--space-xs);background:var(--bg-card);border-radius:var(--radius-sm);padding:12px 14px;display:flex}.status-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.cycle-status-message p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.section-pad{padding:var(--space-4xl) var(--space-lg)}.section-alt{background:var(--canvas-soft)}.section-inner{max-width:1200px;margin:0 auto}.section-head{text-align:center;max-width:600px;margin:0 auto var(--space-3xl)}.section-badge{color:var(--oc-accent);margin-bottom:var(--space-sm);background:#e8437314;border-radius:100px;padding:3px 12px;font-size:11px;font-weight:500;display:inline-block}.section-head-title{letter-spacing:-1.2px;margin:0 0 var(--space-sm);color:var(--text-primary);font-size:32px;font-weight:600}.section-head-desc{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.7}.text-highlight{color:var(--oc-accent)}.insight-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=800px){.insight-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=450px){.insight-grid{grid-template-columns:1fr}}.insight-card{text-align:left;padding:var(--space-lg);cursor:pointer;color:inherit;text-decoration:none;transition:all .2s;display:block}.insight-card:hover{border-color:var(--oc-accent);transform:translateY(-2px)}.insight-card h4{margin:0 0 var(--space-xs);font-size:14px;font-weight:600}.insight-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.insight-ico{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--oc-accent);margin-bottom:var(--space-sm);background:#e843731a;justify-content:center;align-items:center;display:flex}.insight-panel{margin-top:var(--space-lg);padding:var(--space-xl);position:relative}.insight-panel h3{margin:0 0 var(--space-md);font-size:20px;font-weight:600}.insight-panel p{color:var(--text-secondary);margin:0 0 var(--space-sm);font-size:13px;line-height:1.8}.insight-panel ul{color:var(--text-secondary);margin:0 0 var(--space-sm);padding-left:20px;font-size:13px;line-height:1.8}.insight-panel li{margin-bottom:4px}.insight-close{top:var(--space-md);right:var(--space-md);width:32px;height:32px;color:var(--text-mute);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex;position:absolute}.insight-close:hover{background:var(--bg-card);color:var(--text-primary)}.scenario-grid-inner{gap:var(--space-lg);grid-template-columns:300px 1fr;align-items:start;display:grid}@media (width<=750px){.scenario-grid-inner{grid-template-columns:1fr}}.scenario-list{gap:var(--space-xs);flex-direction:column;display:flex}.scenario-btn{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-glass);border:1px solid var(--border-glass);text-align:left;cursor:pointer;color:inherit;transition:all .2s;display:flex}.scenario-btn:hover{background:var(--bg-card-hover)}.scenario-btn.active{border-color:var(--oc-accent);background:#e8437314}.scen-letter{background:var(--bg-card);width:32px;height:32px;color:var(--oc-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.scenario-btn.active .scen-letter{background:var(--oc-accent);color:#fff}.scen-title{font-size:13px;font-weight:600;display:block}.scen-desc{color:var(--text-mute);margin-top:2px;font-size:11px;display:block}.scenario-compare{padding:var(--space-xl);gap:var(--space-lg);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}@media (width<=600px){.scenario-compare{text-align:center;grid-template-columns:1fr}.scen-vs{margin:0 auto}}.scen-col-title{color:var(--text-mute);text-transform:uppercase;letter-spacing:.3px;margin:0 0 var(--space-md);font-size:12px;font-weight:600}.scen-vs span{background:var(--oc-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:flex}.scenario-metric{background:var(--bg-card);border-radius:var(--radius-sm);margin-bottom:var(--space-xs);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.metric-label{color:var(--text-secondary)}.metric-value{align-items:center;gap:6px;font-weight:600;display:flex}.metric-change{font-size:11px;font-weight:600}.metric-change.up{color:var(--success)}.metric-change.down{color:var(--danger)}.edu-grid{gap:var(--space-md);margin-bottom:var(--space-3xl);grid-template-columns:1fr 1fr;display:grid}@media (width<=650px){.edu-grid{grid-template-columns:1fr}}.edu-card{padding:var(--space-lg)}.edu-num{color:#e843731f;margin-bottom:var(--space-sm);font-size:36px;font-weight:800;line-height:1;display:block}.edu-card h3{margin:0 0 var(--space-sm);font-size:15px;font-weight:600}.edu-card p{color:var(--text-secondary);margin:0 0 var(--space-xs);font-size:13px;line-height:1.7}.edu-card strong{color:var(--text-primary)}.faq-section h3{text-align:center;margin:0 0 var(--space-lg);font-size:22px;font-weight:600}.faq-list{gap:var(--space-sm);flex-direction:column;max-width:700px;margin:0 auto;display:flex}.faq-item{padding:var(--space-md) var(--space-lg)}.faq-item summary{cursor:pointer;user-select:none;padding:2px 0;font-size:14px;font-weight:500}.faq-item summary::-webkit-details-marker{display:none}.faq-item[open] summary{margin-bottom:var(--space-sm)}.faq-item p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.7}.related-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=800px){.related-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.related-grid{grid-template-columns:1fr}}.related-card{padding:var(--space-lg);text-decoration:none;transition:all .2s;display:block}.related-card:hover{transform:translateY(-2px)}.related-icon{color:var(--oc-accent);margin-bottom:var(--space-sm)}.related-card h3{margin:0 0 var(--space-xs);color:var(--text-primary);font-size:14px;font-weight:600}.related-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.disclaimer-content{text-align:center;padding:var(--space-xl)}.disclaimer-content h3{margin:0 0 var(--space-sm);color:var(--warning);font-size:16px;font-weight:600}.disclaimer-content p{color:var(--text-mute);margin:0 0 var(--space-sm);font-size:12px;line-height:1.7}.disclaimer-footer{color:var(--text-mute);font-size:11px;font-style:italic;margin-top:var(--space-sm)!important}.footer{border-top:1px solid var(--border-glass);padding:var(--space-xl) 0;margin-top:var(--space-4xl)}.footer-inner{max-width:1200px;padding:0 var(--space-lg);text-align:center;color:var(--text-mute);margin:0 auto;font-size:12px}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:background .3s,border-color .3s}.glass-card:hover{background:var(--bg-card-hover)}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}:root{--oc-accent:#e84373}
