:root{--fb-bg:#fff;--fb-secondary-bg:#f1f1f4;--fb-text:#111;--fb-hint:#8a8a8e;--fb-link:#2a7de1;--fb-button:#2a7de1;--fb-button-text:#fff;--fb-destructive:#e53935;--bg:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,var(--fb-bg)));--page-bg:var(--tg-theme-secondary-bg-color,var(--fb-secondary-bg));--text:var(--tg-theme-text-color,var(--fb-text));--hint:var(--tg-theme-hint-color,var(--fb-hint));--link:var(--tg-theme-link-color,var(--fb-link));--button:var(--tg-theme-button-color,var(--fb-button));--button-text:var(--tg-theme-button-text-color,var(--fb-button-text));--destructive:var(--tg-theme-destructive-text-color,var(--fb-destructive));--period:#e5486f;--fertile:#2bb3a338;--ovulation:#2bb3a3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--fb-bg:#1c1c1e;--fb-secondary-bg:#000;--fb-text:#f2f2f7;--fb-hint:#8e8e93;--fb-link:#5ea8ff;--fb-button:#5ea8ff;--fb-destructive:#ff6b6b}}*{box-sizing:border-box}html,body{background:var(--page-bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0}button,select,textarea,input{font:inherit;color:inherit}h1{margin:0;font-size:1.3rem}.screen{max-width:560px;padding:12px 12px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin:0 auto;display:flex}.screen__header{flex-direction:column;align-items:flex-start;gap:4px;padding:4px 4px 0;display:flex}.center{text-align:center;padding:48px 16px}.card{background:var(--bg);border-radius:14px;padding:14px}.card__title{margin:0 0 6px;font-size:1.1rem}.card__subtitle{text-transform:uppercase;letter-spacing:.03em;color:var(--hint);margin:14px 0 8px;font-size:.8rem;font-weight:600}.card__subtitle:first-child{margin-top:0}.hint{color:var(--hint);margin:0}.small{margin-top:10px;font-size:.85rem}.button{background:var(--button);width:100%;color:var(--button-text);cursor:pointer;border:0;border-radius:12px;padding:13px 16px;font-weight:600;display:block}.button:disabled{opacity:.5}.button--secondary{background:var(--bg);color:var(--link)}.button--danger{color:var(--destructive);background:0 0;border:1px solid}.link-button,.icon-button{color:var(--link);cursor:pointer;background:0 0;border:0;padding:4px 0}.icon-button{width:44px;height:44px;font-size:1.8rem;line-height:1}.calendar__header{justify-content:space-between;align-items:center;display:flex}.calendar__title{cursor:pointer;background:0 0;border:0;font-size:1.15rem;font-weight:700}.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday{text-align:center;color:var(--hint);text-transform:capitalize;padding-bottom:4px;font-size:.75rem}.day{aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.95rem;display:flex;position:relative}.day--future{opacity:.85}.day--period{background:var(--period);color:#fff;font-weight:600}.day--predicted_period{border:2px dashed var(--period);color:var(--period)}.day--fertile{background:var(--fertile)}.day--ovulation{background:var(--ovulation);color:#fff;font-weight:600}.day--today{box-shadow:0 0 0 2px var(--text)}.day__dot,.legend__dot{background:var(--link);border-radius:50%;width:5px;height:5px}.day__dot{position:absolute;bottom:3px}.day--period .day__dot,.day--ovulation .day__dot{background:#fff}.legend{color:var(--hint);flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend__swatch{border-radius:50%;width:14px;height:14px;display:inline-block}.legend__swatch.day--predicted_period{border-width:1.5px}.prediction__top{align-items:center;gap:14px;display:flex}.cycle-day{border:3px solid var(--period);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;min-width:72px;height:72px;display:flex}.cycle-day__value{font-size:1.5rem;font-weight:700;line-height:1}.cycle-day__label{color:var(--hint);text-align:center;font-size:.6rem}.prediction__headline{margin:0 0 2px;font-weight:600}.prediction__rows{gap:6px;margin:14px 0 0;display:grid}.prediction__rows div{justify-content:space-between;gap:12px;display:flex}.prediction__rows dt{color:var(--hint)}.prediction__rows dd{margin:0;font-weight:500}.disclaimer{color:var(--hint);border-top:1px solid color-mix(in srgb, var(--hint) 25%, transparent);margin:12px 0 0;padding-top:10px;font-size:.75rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid color-mix(in srgb, var(--hint) 40%, transparent);cursor:pointer;background:0 0;border-radius:18px;padding:7px 12px;font-size:.9rem}.chip--on{background:var(--button);border-color:var(--button);color:var(--button-text)}.toggle,.field{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.toggle--disabled{opacity:.5}.toggle input{appearance:none;background:color-mix(in srgb, var(--hint) 45%, transparent);cursor:pointer;border-radius:14px;flex-shrink:0;width:46px;height:28px;transition:background .15s;position:relative}.toggle input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle input:checked{background:var(--button)}.toggle input:checked:after{transform:translate(18px)}.checkbox{color:var(--hint);align-items:center;gap:8px;margin:4px 0;font-size:.9rem;display:flex}.field select{color:var(--link);text-align:right;background:0 0;border:0;padding:6px 0}.field select option{color:initial}.textarea{resize:vertical;border:1px solid color-mix(in srgb, var(--hint) 35%, transparent);background:0 0;border-radius:10px;width:100%;padding:10px}
