.ct-root{--ct-menstruation:#f35c98;--ct-menstruation-ink:#c44a7b;--ct-follicular:#ca93c3;--ct-follicular-ink:#91698c;--ct-ovulation:#f09645;--ct-ovulation-ink:#a5672f;--ct-luteal:#935b9e;--ct-luteal-ink:#935b9e;--ct-accent:#f393bd;--ct-accent-ink:#a2627e;--ct-ground:#fff9fb;--ct-surface:#fff;--ct-sunk:#fbf3f6;--ct-ink:#2a1b2e;--ct-muted:#6b5a70;--ct-line:#efe2ea;--ct-line-strong:#e2cfdb;--ct-grade-a-bg:#eaf3ec;--ct-grade-a-ink:#2f6b3d;--ct-grade-a-line:#cfe3d4;--ct-grade-b-bg:#eaeff5;--ct-grade-b-ink:#38597f;--ct-grade-b-line:#cfdae7;--ct-grade-c-bg:#f7efe6;--ct-grade-c-ink:#8a5a2b;--ct-grade-c-line:#e7d8c6;--ct-font:"Source Sans 3 Variable", "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--ct-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;color:var(--ct-ink);font-family:var(--ct-font);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55;container-type:inline-size}.ct-root *,.ct-root :before,.ct-root :after{box-sizing:border-box}.ct-root :focus-visible{outline:2px solid var(--ct-accent-ink);outline-offset:2px;border-radius:6px}.ct-shell{background:var(--ct-ground);border:1px solid var(--ct-line);border-radius:18px;overflow:hidden}.ct-pad{padding:20px}@container (min-width:560px){.ct-pad{padding:26px 28px}}.ct-kick{font-family:var(--ct-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ct-muted);font-size:10.5px}.ct-h{letter-spacing:-.01em;text-wrap:balance;margin:4px 0 0;font-size:21px;font-weight:600;line-height:1.18}.ct-sub{color:var(--ct-muted);max-width:58ch;margin:8px 0 0;font-size:14px}.ct-nums{font-variant-numeric:tabular-nums}.ct-top{gap:22px;display:grid}@container (min-width:620px){.ct-top{grid-template-columns:minmax(0,300px) 1fr;align-items:start}}.ct-card{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:14px}.ct-date{margin-bottom:7px;font-size:13.5px;font-weight:600;display:block}.ct-date-input{border:1px solid var(--ct-line-strong);background:var(--ct-surface);width:100%;max-width:260px;color:var(--ct-ink);font:inherit;border-radius:9px;padding:10px 12px;font-size:15px}.ct-date-input:focus{border-color:var(--ct-accent-ink);outline:none}.ct-legend{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.ct-legend-btn{border:1px solid var(--ct-line-strong);background:var(--ct-surface);font:inherit;color:var(--ct-muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:12.5px;transition:border-color .15s,color .15s;display:inline-flex}.ct-legend-btn[aria-pressed=true]{color:var(--ct-ink);font-weight:600}.ct-legend-dot{border-radius:4px;flex:none;width:11px;height:11px}.ct-swatch{border-radius:4px;flex:none;width:12px;height:12px;display:inline-block}.ct-chip{letter-spacing:.04em;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;padding:5px 11px;font-size:11px;font-weight:600;display:inline-flex}.ct-detail{border-top:1px solid var(--ct-line)}.ct-disclose{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;display:flex}.ct-disclose:hover{background:var(--ct-sunk)}.ct-caret{color:var(--ct-muted);flex:none;transition:transform .22s}.ct-caret[data-open=true]{transform:rotate(180deg)}.ct-cite{color:var(--ct-muted);border-left:2px solid var(--ct-line-strong);margin-top:12px;padding-left:12px;font-size:11.5px;font-style:italic;line-height:1.6}.ct-remedy{border:1px solid var(--ct-line);background:var(--ct-surface);border-radius:11px;overflow:hidden}.ct-remedy+.ct-remedy{margin-top:8px}.ct-remedy-btn{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.ct-remedy-btn:hover{background:var(--ct-sunk)}.ct-remedy-body{border-top:1px solid var(--ct-line);padding:2px 14px 14px}.ct-row{margin-top:8px;font-size:13.5px}.ct-row-label{color:var(--ct-muted)}.ct-foot{color:var(--ct-muted);background:var(--ct-sunk);border-top:1px solid var(--ct-line);padding:14px 20px;font-size:11.5px;line-height:1.6}.ct-foot a{color:var(--ct-accent-ink)}.ct-scrub{touch-action:none;cursor:pointer;width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.ct-root *,.ct-root :before,.ct-root :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
