
/* My Rhythm Diary — CTA on the landing, and the diary page. */
.rdy-cta{ display:flex; align-items:center; gap:18px; width:100%; max-width:1120px;
  margin:26px auto 0; padding:0; text-align:left; cursor:pointer; font:inherit;
  border-radius:24px; overflow:hidden; background:#fff !important;
  border:1px solid #ECE7DD !important; box-shadow:0 2px 12px rgba(36,52,71,.06);
  transition:transform .15s ease, box-shadow .15s ease;
  font-family:'Nunito',system-ui,sans-serif; }
.rdy-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(36,52,71,.10); }
.rdy-cta:focus-visible{ outline:3px solid #CF9E3F; outline-offset:3px; }
.rdy-cta-art{ flex:0 0 42%; max-width:340px; line-height:0; }
.rdy-cta-art img{ width:100%; height:100%; object-fit:cover; display:block; }
.rdy-cta-b{ flex:1 1 auto; padding:22px 24px 22px 0; min-width:0; }
.rdy-cta-n{ display:block; font-family:'Playfair Display',Georgia,serif; font-size:1.35rem;
  font-weight:700; color:#243447 !important; -webkit-text-fill-color:#243447 !important; }
.rdy-cta-s{ display:block; margin-top:5px; font-size:.95rem; line-height:1.6;
  color:#6E7683 !important; -webkit-text-fill-color:#6E7683 !important; }
.rdy-cta-c{ display:block; margin-top:12px; font-size:.87rem; font-weight:800;
  color:#3F6B3A !important; -webkit-text-fill-color:#3F6B3A !important; }
@media (max-width:640px){
  .rdy-cta{ flex-direction:column; align-items:stretch; }
  .rdy-cta-art{ flex:none; max-width:none; }
  .rdy-cta-b{ padding:18px 20px 20px; }
}
.rdy-root{ background:#fff !important; font-family:'Nunito',system-ui,sans-serif; }
.rdy-wrap{ max-width:820px; margin:0 auto; padding:clamp(18px,3vw,30px) clamp(16px,4vw,26px) 110px; }
.rdy-back{ min-height:44px; padding:11px 18px; border-radius:999px; cursor:pointer; font:inherit;
  font-size:.84rem; font-weight:800; margin:0 0 18px; background:#fff !important;
  border:1px solid #E8E4DC !important; color:#243447 !important; }
.rdy-eb{ margin:0 0 6px; font-size:.7rem; font-weight:800; letter-spacing:.17em;
  text-transform:uppercase; color:#6E7A61 !important; }
.rdy-h{ font-family:'Playfair Display',Georgia,serif !important;
  font-size:clamp(1.9rem,4.2vw,2.5rem) !important; font-weight:700 !important;
  margin:0 0 10px !important; color:#243447 !important; }
.rdy-sub{ margin:0 0 22px; font-size:1rem; line-height:1.7; max-width:60ch; color:#5A6472 !important; }
.rdy-sr{ position:absolute !important; width:1px !important; height:1px !important;
  overflow:hidden !important; clip:rect(0 0 0 0) !important; }
#rdyQ{ box-sizing:border-box; width:100%; min-height:52px; padding:13px 18px; border-radius:16px;
  font:inherit; font-size:.97rem; background:#fff !important; border:1px solid #E7E1D6 !important;
  color:#243447 !important; }
#rdyQ:focus{ outline:none; border-color:#9FBE97 !important; box-shadow:0 0 0 3px rgba(125,158,119,.22); }
.rdy-quick{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; }
.rdy-qb{ min-height:40px; padding:9px 14px; border-radius:999px; cursor:pointer; font:inherit;
  font-size:.78rem; font-weight:600; background:#FBFAF7 !important;
  border:1px solid #EFEBE2 !important; color:#6E7683 !important; }
.rdy-filters{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.rdy-f{ min-height:42px; padding:9px 15px; border-radius:999px; cursor:pointer; font:inherit;
  font-size:.82rem; font-weight:700; background:#fff !important;
  border:1px solid #E7E1D6 !important; color:#5A6472 !important; }
.rdy-f.is-on{ background:#243447 !important; border-color:#243447 !important; color:#fff !important; }
.rdy-add{ margin:20px 0 0; min-height:52px; padding:14px 24px; border-radius:999px; cursor:pointer;
  font:inherit; font-size:.92rem; font-weight:800; background:#DCE8D6 !important;
  border:1px solid #C3D8BA !important; color:#26401F !important; }
.rdy-day{ margin:28px 0 0; }
.rdy-dh{ font-family:'Playfair Display',Georgia,serif !important; font-size:1.5rem !important;
  font-weight:700 !important; margin:0 0 12px !important; color:#243447 !important; }
.rdy-e{ display:flex; gap:14px; padding:18px; border-radius:22px; margin:0 0 10px;
  background:#fff !important; border:1px solid #ECE7DD !important; }
.rdy-e-ic{ flex:none; width:42px; height:42px; border-radius:14px; background:#EDF3E9; }
.rdy-t-hydration{ background:#E9F1F3 !important; } .rdy-t-meditation{ background:#F6EDF0 !important; }
.rdy-t-sleep{ background:#EFEDF5 !important; } .rdy-t-meals{ background:#F6F1E7 !important; }
.rdy-t-note{ background:#F2F3F1 !important; } .rdy-t-mood{ background:#F6EDF0 !important; }
.rdy-e-b{ flex:1; min-width:0; }
.rdy-e-h{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.rdy-e-h b{ font-size:1rem; color:#243447 !important; }
.rdy-e-d{ font-size:.86rem; color:#6E7683 !important; }
.rdy-e-t{ margin-left:auto; font-size:.84rem; color:#9AA2AD !important; }
.rdy-e-c{ display:block; margin-top:2px; font-size:.78rem; color:#8A919B !important; }
.rdy-e-n{ margin:8px 0 0; font-size:.95rem; line-height:1.65; color:#3F4753 !important; }
.rdy-e-tags{ display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:10px 0 0; }
.rdy-mood{ padding:4px 11px; border-radius:999px; font-size:.75rem; font-weight:800;
  background:#EDF3E9; color:#2E4A2C; }
.rdy-tag{ padding:4px 11px; border-radius:999px; font-size:.75rem; color:#6E7683;
  border:1px solid #EFEBE2; }
.rdy-x{ margin-left:auto; width:34px; height:34px; border-radius:50%; cursor:pointer; font:inherit;
  font-size:.72rem; border:0 !important; background:#F1EDE8 !important; color:#78766c !important; }
.rdy-empty{ margin:24px 0 0; padding:34px 24px; border-radius:22px; text-align:center;
  background:#FBFAF7 !important; border:1px dashed #E0D6C6 !important; }
.rdy-empty b{ display:block; color:#243447 !important; }
.rdy-empty p{ margin:6px auto 0; max-width:42ch; font-size:.94rem; color:#6E7683 !important; }
#rdySheet{ position:fixed; inset:0; z-index:9760; display:none; align-items:flex-end;
  justify-content:center; background:rgba(20,28,44,.5); font-family:'Nunito',system-ui,sans-serif; }
#rdySheet.is-open{ display:flex; }
#rdySheet .rdy-box{ width:100%; max-width:540px; max-height:calc(100dvh - 32px); overflow-y:auto;
  background:#fff; border-radius:26px 26px 0 0; padding:24px 22px 28px; }
@media (min-width:720px){ #rdySheet{ align-items:center; padding:16px; }
  #rdySheet .rdy-box{ border-radius:26px; } }
#rdySheet .rdy-box-h{ display:flex; justify-content:space-between; align-items:flex-start;
  gap:12px; margin:0 0 14px; }
#rdySheet .rdy-box-h h2{ font-family:'Playfair Display',Georgia,serif !important;
  font-size:1.3rem !important; margin:0 !important; color:#243447 !important; }
#rdySheet .rdy-box-h button{ width:44px; height:44px; min-height:44px; border-radius:50%;
  border:0; cursor:pointer; background:#F1EDE8; color:#243447; }
#rdySheet .rdy-f2{ margin:0 0 14px; }
#rdySheet .rdy-l{ display:block; margin:0 0 6px; font-size:.75rem; font-weight:800;
  color:#5A6472 !important; }
#rdySheet .rdy-i{ box-sizing:border-box; width:100%; min-height:48px; padding:12px 15px;
  border-radius:14px; font:inherit; font-size:.95rem; background:#fff !important;
  border:1px solid #E7E1D6 !important; color:#243447 !important; }
#rdySheet textarea.rdy-i{ resize:vertical; }
#rdySheet .rdy-two{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#rdySheet .rdy-box-f{ display:flex; flex-direction:column-reverse; gap:8px; margin:20px 0 0; }
#rdySheet .rdy-b{ min-height:50px; padding:13px 22px; border-radius:999px; cursor:pointer;
  font:inherit; font-size:.9rem; font-weight:800; background:#fff !important;
  border:1px solid #E7E1D6 !important; color:#243447 !important; }
#rdySheet .rdy-b.is-go{ background:#DCE8D6 !important; border-color:#C3D8BA !important;
  color:#26401F !important; }

.rdy-cap{ margin:22px 0 0; padding:18px 0 0; border-top:1px solid #F0EBE1; }
.rdy-capl{ margin:0 0 10px; font-size:.72rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:#9AA2AD !important; }
.rdy-caps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:9px; }
.rdy-capb{ text-align:left; cursor:pointer; font:inherit; padding:13px 15px; border-radius:16px;
  background:#FBFAF7 !important; border:1px solid #EFEBE2 !important; }
.rdy-capb:hover{ border-color:#B9CDB2 !important; }
.rdy-capb b{ display:block; font-size:.92rem; color:#243447 !important; }
.rdy-capb span{ display:block; margin-top:3px; font-size:.8rem; line-height:1.45;
  color:#8A919B !important; }
.rdy-e-from{ padding:4px 11px; border-radius:999px; font-size:.72rem; font-weight:700;
  background:#F2F3F1; color:#3F4753; }
