[hidden] { display: none !important; }
h1[tabindex="-1"]:focus { outline: none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body[data-screen="welcome"] .topbar { min-height: 108px; }
body[data-screen="welcome"] .brand .mother-illustration { display: none; }
body[data-screen="welcome"] main { max-width: 1056px; }
.welcome-screen { display:grid; grid-template-columns: 1.2fr 1fr; align-items:center; column-gap:48px; padding:46px 0 20px; }
.welcome-copy .eyebrow { font-size:11px; letter-spacing:1.8px; margin-bottom:20px; }
.welcome-copy h1 { font:52px/1.08 Georgia,serif; letter-spacing:-1.6px; color:#503849; }
.welcome-intro { color:#655461; font-size:17px; line-height:1.65; margin:24px 0 15px; }
.welcome-reassurance { font-size:14px; max-width:340px; color:var(--muted); line-height:1.8; }
.welcome-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; align-items:center; }
.welcome-actions .primary,.welcome-actions .secondary { min-height:48px; padding:12px 22px; font-size:14px; }
.welcome-actions .primary span { margin-left:16px; }
.welcome-art { position:relative; border-radius:180px 180px 22px 22px; min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#f5e7e9; isolation:isolate; }
.welcome-art img { width:275px; height:auto; max-width:88%; z-index:1; transform:rotate(-3deg); }
.welcome-orbit { position:absolute; width:160px; height:160px; right:-20px; top:35px; background:#f9efcf; border-radius:50%; z-index:-1; }
.art-caption { font:italic 20px Georgia,serif; color:#80566a; margin-top:8px; }
.welcome-bottom { grid-column:1/-1; margin-top:55px; }
.welcome-path { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:22px 0; font-size:12px; color:#766571; }
.welcome-path b { color:#a47589; font-weight:500; margin-right:9px; }
.preview-disclosure { font-size:11px; color:#7a7077; line-height:1.6; text-align:center; margin:20px auto; max-width:590px; }
.questions-screen { max-width:600px; margin:0 auto; padding:12px 0 26px; }
.question-steps { display:flex; gap:4px; margin-bottom:35px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.question-steps button { flex:1; min-height:44px; text-align:left; color:var(--muted); font-size:12px; padding:6px 7px; border-radius:7px; }
.question-steps button span { display:inline-grid; place-items:center; width:24px; height:24px; border:1px solid #cfc0c8; border-radius:50%; margin-right:6px; font-size:11px; }
.question-steps [aria-current] { color:#74425a; background:#f6e9ef; font-weight:600; }
.question-steps [aria-current] span { background:#86536a; border-color:#86536a; color:white; }
.question-heading { margin-bottom:28px; }
.question-heading h1 { font:34px/1.18 Georgia,serif; letter-spacing:-.8px; margin:10px 0 13px; }
.question-heading>p:last-child { font-size:14px; color:var(--muted); line-height:1.7; }
.choice-group { margin-bottom:27px; }
.choice-group legend { font-size:14px; margin-bottom:12px; }
.choice-card { display:flex; gap:13px; align-items:center; padding:15px 17px; border:1px solid #ded2d9; border-radius:11px; background:#fffefd; cursor:pointer; margin-bottom:9px; }
.choice-card:has(input:checked) { border-color:#ab788f; background:#faf0f4; box-shadow:0 0 0 1px #ab788f; }
.choice-card input { flex-shrink:0; width:17px; height:17px; margin:0; accent-color:#86536a; }
.choice-card strong { display:block; font-size:14px; font-weight:550; }.choice-card small { display:block; color:#796976; font-size:12px; margin-top:4px; }
.questions-screen .field { font-size:13px; }.questions-screen input,.questions-screen select { font-size:16px; }
.field-note { color:var(--muted); font-size:12px; line-height:1.65; margin:-4px 0 18px; }
.question-actions { display:flex; align-items:center; justify-content:space-between; padding-top:22px; border-top:1px solid var(--line); margin-top:28px; }
.question-actions .primary { min-height:47px; min-width:145px; }.question-actions .text-button { min-height:44px; font-size:13px; }
.partial-link { display:block; margin:12px auto 0; min-height:44px; font-size:12px; }
.weekday-picker { display:flex; gap:7px; }.weekday-picker label { position:relative; flex:1; min-width:0; cursor:pointer; }
.weekday-picker input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.weekday-picker span:not(.sr-only) { display:flex; justify-content:center; align-items:center; min-height:45px; border:1px solid #dbd0d7; border-radius:9px; font-size:13px; }
.weekday-picker input:checked+span { background:#f4e3eb; border-color:#a5738b; color:#73485d; font-weight:600; }
.weekday-picker input:focus-visible+span { outline:3px solid #955b7a; outline-offset:3px; }
.answer-day { background:white; border:1px solid var(--line); border-radius:11px; margin:14px 0; }.answer-day>summary { padding:15px 17px; cursor:pointer; font-size:14px; font-weight:600; }
.answer-day>summary>span { font-size:12px; color:var(--muted); font-weight:400; margin-left:10px; }
.answer-day-body { padding:4px 17px 15px; }.answer-day-body .text-button { font-size:12px; margin-bottom:15px; text-align:left; }
.optional-questions { margin-top:10px; border-top:1px solid var(--line); padding-top:13px; }.optional-questions>summary { font-size:13px; min-height:35px; cursor:pointer; }.optional-questions>summary span { color:var(--muted); font-size:11px; margin-left:7px; }.optional-questions .field-note { margin:6px 0 14px; }
.gentle-note,.review-later { background:#fcf3de; border-radius:11px; padding:18px 20px; font-size:13px; line-height:1.7; color:#776449; }
.form-scope { font-size:11px; line-height:1.7; color:#7a6d77; margin-top:22px; }
.assignments legend { font-size:12px; }.assignments { margin-bottom:10px; }.assignments .check { font-size:12px; line-height:1.6; }.check input { flex-shrink:0; }
.review-section { display:flex; justify-content:space-between; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); }.review-section h2 { font-size:15px; margin-bottom:6px; }.review-section p { font-size:12px; color:var(--muted); }.review-section .text-button { font-size:12px; white-space:nowrap; }
.answer-recap { margin:10px 0 22px; }.answer-recap article { padding:17px 0; border-bottom:1px solid var(--line); }.answer-recap h3 { font:19px Georgia,serif; margin-bottom:9px; }.answer-recap p { font-size:12px; color:#746270; line-height:1.8; margin:5px 0; }.answer-recap strong { color:#554653; font-weight:600; margin-right:8px; }
.review-later { margin-top:24px; }.review-later p { margin-top:7px; font-size:12px; }
.extra-questions { margin-top:30px; padding-top:25px; border-top:1px solid var(--line); }.extra-questions h2 { font:23px Georgia,serif; margin-bottom:15px; }
.partial-plan-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:4px 0 13px; font-size:11px; color:var(--muted); }.partial-plan-bar .text-button { font-size:11px; }
.example-week-note { font-size:11px; color:var(--muted); margin:0 0 8px; }
.baby-section { margin:24px 0; border-bottom:1px solid var(--line); padding-bottom:22px; }
.baby-section>summary { font:22px/1.4 Georgia,serif; cursor:pointer; min-height:44px; }
.baby-section small { font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin-left:8px; }
.baby-section h2 { font:24px Georgia,serif; margin-bottom:20px; }
.baby-section-body { padding-top:18px; }
.milk-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.milk-options .choice-card { margin:0; font-size:13px; padding:12px; min-width:0; }
.routine-card { background:#fffdfb; border:1px solid #e7d9e0; border-radius:12px; margin:15px 0; }
.routine-card>summary { padding:14px 16px; cursor:pointer; font-weight:600; }
.routine-body { padding:4px 16px 12px; }
.add-routine { margin:0 0 24px; min-height:44px; }
.baby-recap { font-size:12px; color:var(--muted); line-height:1.8; padding:12px 0; }
.baby-recap p { margin:8px 0; }
@media(max-width:400px) { .milk-options { grid-template-columns:1fr; }.routine-body { padding:4px 10px 10px; }.question-steps button { font-size:10px; } }
@media(max-width:700px) {
  .welcome-screen { column-gap:22px; }.welcome-copy h1 { font-size:40px; }.welcome-art { min-height:310px; }.welcome-intro { font-size:15px; }
}
@media(max-width:600px) {
  body[data-screen="welcome"] .topbar { min-height:91px; }
  .welcome-screen { display:flex; flex-direction:column; padding:22px 7px 0; text-align:center; }.welcome-copy { order:1; }.welcome-art { order:0; min-height:0; height:150px; width:160px; border-radius:90px 90px 20px 20px; margin:0 auto 28px; }.welcome-art img { width:130px; max-width:none; }.welcome-orbit { width:80px; height:80px; right:-20px; top:8px; }.art-caption { display:none; }
  .welcome-copy .eyebrow { font-size:10px; margin-bottom:13px; }.welcome-copy h1 { font-size:39px; letter-spacing:-1.2px; }.welcome-intro { margin:18px 0 12px; font-size:15px; }.welcome-reassurance { font-size:13px; margin:0 auto; }.welcome-actions { flex-direction:column; gap:10px; margin-top:24px; }.welcome-actions .primary,.welcome-actions .secondary { width:100%; max-width:330px; }
  .welcome-bottom { order:2; width:100%; margin-top:30px; }.welcome-path { gap:10px; font-size:10px; line-height:1.6; padding:16px 0; }.welcome-path span { flex:1; }.welcome-path b { display:block; margin:0 0 3px; }.preview-disclosure { font-size:10px; margin:16px auto; }
  body[data-screen="questions"] .brand .mother-illustration { display:none; }body[data-screen="questions"] .brand small { display:none; }body[data-screen="questions"] #demo-label { display:none; }
  .questions-screen { padding-top:12px; }.question-steps { gap:0; margin-bottom:25px; padding-bottom:12px; }.question-steps button { display:flex; flex-direction:column; align-items:center; gap:5px; padding:7px 0; font-size:11px; }.question-steps button span { margin:0; }
  .question-heading h1 { font-size:29px; }.question-heading>p:last-child { font-size:13px; }.question-heading { margin-bottom:25px; }.choice-card { padding:14px 12px; gap:11px; }.choice-card strong { font-size:13px; }.choice-card small { font-size:11px; }.choice-group legend { font-size:13px; }
  .weekday-picker { gap:4px; }.weekday-picker span:not(.sr-only) { font-size:11px; }.answer-day>summary { padding:14px 12px; }.answer-day>summary>span { font-size:11px; margin-left:5px; }.answer-day-body { padding:4px 12px 12px; }.review-section { gap:8px; }.review-section>div:last-child .text-button { display:block; }.question-actions .primary { min-width:130px; }
  #entry-nav { font-size:11px; padding:8px 6px; }body[data-screen="planner"] #entry-nav { display:none; }
}

.work-subcard { border-left:2px solid #e6c9d7; padding:12px 0 0 14px; margin:12px 0 20px; }
.work-subcard h3,.work-subcard>strong { display:block; font-size:13px; margin-bottom:14px; }
.work-add { min-height:44px; }
[data-work-section]>summary { min-height:44px; line-height:1.5; }
