.screen.svelte-wl2tsh{min-height:100dvh;background:var(--c-bg);color:var(--c-text);display:flex;flex-direction:column;max-width:780px;margin:0 auto}.calendar-page.svelte-wl2tsh{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));overflow-y:auto}.phase-summary{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4)}.phase-name.svelte-wl2tsh{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--c-text);margin:0 0 var(--space-1)}.phase-hint.svelte-wl2tsh{font-size:var(--text-sm);color:var(--c-text-secondary);margin:0}.calendar-card{display:flex;flex-direction:column}.month-header.svelte-wl2tsh{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.month-nav.svelte-wl2tsh{background:none;border:none;cursor:pointer;color:var(--c-text-secondary);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background var(--duration-fast);-webkit-tap-highlight-color:transparent}.month-nav.svelte-wl2tsh:hover{background:var(--c-surface-raised)}.month-nav.svelte-wl2tsh:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.month-title.svelte-wl2tsh{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--c-text);margin:0}.weekday-header.svelte-wl2tsh{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:var(--c-text-secondary);padding-block:8px}.calendar-grid.svelte-wl2tsh{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day.svelte-wl2tsh{aspect-ratio:1;width:100%;border:none;background:none;border-radius:50%;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);color:var(--c-text);transition:background var(--duration-fast),color var(--duration-fast);-webkit-tap-highlight-color:transparent;min-height:0}.cal-day.svelte-wl2tsh:hover:not(.is-selected){background:var(--c-surface-raised)}.cal-day.svelte-wl2tsh:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.is-period.svelte-wl2tsh{background:#e5737340;color:#c62828;font-weight:600}.is-fertile.svelte-wl2tsh{background:#f8bbd9;color:#333}.is-ovulation.svelte-wl2tsh{background:#ce93d8;color:#4a148c;font-weight:600}.is-today.svelte-wl2tsh{outline:2px solid #E57373;outline-offset:-2px;font-weight:700}.is-selected.svelte-wl2tsh{background:#e57373!important;color:#fff!important}.legend.svelte-wl2tsh{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;padding-top:var(--space-3);border-top:1px solid var(--c-border);margin-top:var(--space-3)}.leg-item.svelte-wl2tsh{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--c-text-secondary)}.leg-dot.svelte-wl2tsh{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media(prefers-reduced-motion:reduce){.cal-day.svelte-wl2tsh,.month-nav.svelte-wl2tsh{transition:none}}.cal-cta.svelte-wl2tsh{display:flex;justify-content:center;padding:var(--space-4) 0 var(--space-2)}.ring-section.svelte-wl2tsh{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-2) 0 var(--space-4)}.ring-phase.svelte-wl2tsh{font-size:var(--text-sm);color:var(--c-text-secondary);margin:0}
