[hidden]{display:none!important}
.brand img{display:block;width:220px;height:auto;max-height:76px;object-fit:contain}
.journey-nav{display:flex;gap:8px;max-width:1420px;margin:0 auto;padding:17px 30px;border-bottom:1px solid var(--line)}
.journey-link{display:flex;align-items:center;gap:10px;background:none;border:0;border-radius:12px;padding:10px 16px;min-height:48px;font-size:.875rem;color:var(--muted);font-weight:750}
.journey-link[aria-current]{background:var(--soft);color:var(--blue)}
.journey-link:last-child{margin-left:auto}
.journey-number{font-size:.8125rem;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--surface);color:var(--blue);box-shadow:0 2px 0 var(--line)}
.journey-link[aria-current] .journey-number{background:var(--blue-brand);color:white}
.family-app{padding:34px 30px 50px;max-width:1420px;margin:auto;min-height:65vh}
.family-app:focus{outline:none}
.family-app h1{font-size:2.65rem;line-height:1.12;letter-spacing:-1.2px;margin:14px 0 18px}
.family-app h1 em{color:var(--pink)}
.family-app p{font-size:1rem;line-height:1.65}
.family-app .helper{font-size:.875rem;line-height:1.5}
.welcome-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:28px 44px;max-width:1180px;margin:auto}
.welcome-intro{align-self:center}
.welcome-lead{max-width:630px;color:var(--muted);margin:0}
.welcome-visual{position:relative;align-self:center;overflow:hidden;border-radius:24px;box-shadow:var(--depth);border:1px solid var(--line);aspect-ratio:1.5;background:var(--soft)}
.welcome-visual img{width:300%;max-width:none;height:100%;object-fit:fill;position:absolute;left:0;top:0}
.welcome-visual p{position:absolute;bottom:0;left:0;right:0;background:#ffffffed;color:#005985;margin:0;padding:14px 20px;font-weight:800;font-size:.9375rem}
.ser-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ser-steps article{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px;border-radius:18px}
.ser-letter{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--soft);color:var(--blue);font-size:1.45rem;font-weight:900;box-shadow:0 3px 0 var(--line)}
.ser-steps article:last-child .ser-letter{background:var(--soft-pink);color:var(--pink)}
.ser-steps h2{font-size:1.125rem;margin:16px 0 8px;line-height:1.3}
.ser-steps p{margin:0;color:var(--muted)}
.welcome-boundary{grid-column:1/-1;border-left:4px solid var(--pink-brand);padding:3px 20px}
.welcome-boundary strong{font-size:1.1rem}
.welcome-boundary p{margin:5px 0 0;color:var(--muted)}
.welcome-action{grid-column:1/-1;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:23px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.welcome-action .helper{margin:12px 0 0}
.ready-label{display:flex;align-items:center;gap:13px;max-width:470px;cursor:pointer}
.ready-label input{width:24px;height:24px;accent-color:var(--blue-brand);flex:none}
.plan-footer{max-width:1180px;margin:38px auto 0}
.family-app .plan-footer p{font-size:.875rem;line-height:1.6}
.plan-footer .local-state{margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}
.survey-wrap{max-width:760px;margin:10px auto 30px}
.survey-heading{padding:0 5px 15px}
.survey-heading p{color:var(--muted);margin:9px 0}
.question-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--depth);border-radius:24px;padding:30px 36px}
.question-top{display:flex;justify-content:space-between;gap:12px;color:var(--blue);font-size:.9375rem}
.question-top strong{font-size:1.25rem}
.question-card .progress-track{height:6px;margin:15px 0 25px}
.survey-fieldset{border:0;margin:0;padding:0;min-width:0}
.survey-fieldset legend{font-size:1.6rem;line-height:1.3;font-weight:800;letter-spacing:-.5px;padding:0}
.survey-fieldset>p{color:var(--muted);margin:12px 0 20px;font-size:.9375rem}
.survey-options{display:grid;gap:11px}
.survey-option{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1.5px solid var(--line);border-radius:14px;min-height:67px;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s}
.survey-option input{width:22px;height:22px;accent-color:var(--blue-brand);flex:none;margin:0}
.survey-option:has(input:checked){border-color:var(--blue);background:var(--soft);color:var(--blue);box-shadow:0 2px 0 #007dc81a}
.survey-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.question-actions{display:flex;justify-content:space-between;gap:20px;margin-top:30px}
.family-app .question-foot{font-size:.875rem;color:var(--muted);margin:22px 0 0}
.plan-heading{display:flex;justify-content:space-between;gap:36px;align-items:center}
.plan-heading>div:first-child{max-width:750px}
.plan-heading p{margin:0;color:var(--muted)}
.export-actions{display:grid;gap:12px;min-width:195px;max-width:300px}
.export-actions .text-button{padding:2px 0}
#export-status{font-size:.875rem;line-height:1.45;color:var(--blue)}
.plan-overview{display:grid;grid-template-columns:.8fr 1.1fr 1.8fr;gap:17px;margin:27px 0 20px}
.plan-overview article{padding:20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.plan-overview .parent-first{background:var(--soft-pink)}
.plan-overview h2{font-size:1.3rem;line-height:1.3;margin:11px 0 0;color:var(--blue)}
.plan-overview p{font-size:.9375rem;line-height:1.5;margin:9px 0 0}
.plan-overview .parent-first .small-label{color:var(--pink)}
.adaptation-details{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:5px 20px}
.adaptation-details>summary{font-weight:750;color:var(--blue);cursor:pointer;padding:13px 0;min-height:50px}
.adaptation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 25px;padding-bottom:15px}
.adaptation-grid h3{font-size:1rem;margin:7px 0}
.adaptation-grid p{font-size:.9375rem;color:var(--muted);margin:0}
.answer-review{border-top:1px solid var(--line);padding:13px 0;cursor:pointer}
.answer-review dl{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.answer-review dt{font-weight:750;font-size:.9375rem}
.answer-review dd{margin:5px 0 0;color:var(--muted);font-size:.9375rem}
.plan-workspace{display:grid;grid-template-columns:242px minmax(0,1fr);gap:30px;margin:34px 0}
.day-sidebar{border-right:1px solid var(--line);padding-right:22px}
.day-heading h2{font-size:1rem;margin:0 0 7px;line-height:1.4}
.day-heading>span{font-size:.875rem;color:var(--muted)}
.day-nav{display:grid;gap:8px;margin-top:20px}
.day-nav button{display:flex;align-items:center;gap:12px;border:1px solid transparent;border-radius:13px;background:none;padding:12px 10px;text-align:left;min-height:65px;color:var(--muted)}
.day-nav button[aria-pressed=true]{background:var(--surface);border-color:var(--line);color:var(--blue);box-shadow:var(--shadow)}
.day-number{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--surface);color:var(--blue);font-weight:800;font-size:.875rem;border:1px solid var(--line)}
.day-nav button[aria-pressed=true] .day-number{background:var(--blue-brand);color:#fff;border-color:var(--blue-brand);box-shadow:0 3px 0 var(--button-shadow)}
.day-nav strong{font-size:.9375rem;display:block}
.day-nav small{font-size:.875rem;display:block;line-height:1.35;margin-top:3px}
.day-content{min-width:0;scroll-margin-top:105px}
.daily-heading h2{font-size:1.8rem;letter-spacing:-.6px;line-height:1.2;margin:9px 0 12px}
.daily-heading p{color:var(--muted);font-size:.9375rem;margin:0 0 18px}
.daily-focus{border-left:3px solid var(--blue-brand);padding:0 17px;margin:22px 0 25px}
.daily-focus strong{color:var(--blue)}
.daily-focus p{margin:4px 0;font-size:.9375rem}
.day-tabs{display:flex;gap:7px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:24px}
.day-tabs button{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px;border:0;background:none;border-radius:10px;color:var(--muted);font-weight:750;font-size:.9375rem}
.day-tabs button[aria-selected=true]{background:var(--soft);color:var(--blue)}
.plan-story-visual{border-radius:18px;overflow:hidden;box-shadow:var(--depth);background:var(--surface);border:1px solid var(--line)}
.plan-story-visual img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}
.illustration-caption{display:block;padding:10px 15px;color:var(--muted);font-size:.8125rem;line-height:1.45}
.daily-materials{padding:20px 0}
.daily-materials p{font-size:.9375rem;margin:4px 0;color:var(--muted)}
.daily-model{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.daily-model>div{background:var(--surface);border:1px solid var(--line);padding:20px;border-radius:15px}
.daily-model>div:first-child{background:var(--soft-pink)}
.daily-model>div:first-child .command{color:var(--pink)}
.daily-model p{font-size:.9375rem;margin:9px 0 0}
.daily-model .helper{color:var(--muted);font-size:.875rem}
.plan-dialogue{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.dialogue-card{position:relative;padding:19px 17px 26px;background:var(--soft);border:1px solid var(--line);border-radius:5px 17px 17px 17px;min-width:0;box-shadow:var(--shadow)}
.dialogue-card.child-dialogue{background:var(--soft-pink);border-radius:17px 5px 17px 17px}
.dialogue-card p{font-size:1.1rem;font-weight:750;margin:9px 0 12px;line-height:1.5}
.dialogue-card.child-dialogue p{font-size:.9375rem;font-weight:500}
.dialogue-card .actor{font-size:.75rem}
.dialogue-number{position:absolute;bottom:8px;right:14px;font-size:.75rem;color:var(--muted);font-weight:800}
.family-app .response-action{font-size:.9375rem;color:var(--muted);margin:20px 0}
.daily-responses{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:20px}
.daily-responses h3{font-size:1.05rem;margin:0 0 15px}
.response-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.response-buttons button{padding:11px 14px;min-height:48px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font-size:.9375rem;text-align:left}
.response-buttons button[aria-pressed=true]{border-color:var(--blue);background:var(--soft);color:var(--blue)}
.plan-safety{border-left:3px solid var(--pink-brand);padding:0 17px;margin:25px 0}
.plan-safety p{font-size:.9375rem;margin:5px 0;color:var(--muted)}
.daily-check-card{padding:25px;border:1px solid var(--line);background:var(--surface);border-radius:17px;box-shadow:var(--shadow)}
.daily-check-card h3{margin:0 0 12px;font-size:1.3rem}
.daily-check-card>p{font-size:.9375rem;color:var(--muted)}
.daily-check-card .progress-header{margin-top:22px}
.observation-label{display:block;font-weight:750;font-size:1rem;margin:25px 0 11px}
.observation-label small{display:block;color:var(--muted);font-weight:400;font-size:.875rem;margin-top:4px}
#day-observation{width:100%;font-size:1rem;min-height:50px}
.pediatrician-note{background:var(--soft);border:1px solid var(--line);padding:24px;border-radius:17px;margin:35px 0 0}
.pediatrician-note h2{font-size:1.15rem;margin:0 0 8px}
.pediatrician-note p{font-size:.9375rem;margin:0}
#clear-plan-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:28px;max-width:510px;width:calc(100% - 36px)}
#clear-plan-dialog::backdrop{background:#08172a99}
#clear-plan-dialog h2{font-size:1.4rem;line-height:1.3}
#print-plan{display:none}
@media(min-width:1500px){.family-app{padding-top:40px}}
@media(max-width:1150px){.welcome-panel{gap:25px}.family-app h1{font-size:2.3rem}.plan-overview{grid-template-columns:1fr 1fr}.plan-overview .parent-first{grid-column:1/-1}.plan-workspace{grid-template-columns:210px minmax(0,1fr);gap:22px}.day-sidebar{padding-right:15px}.plan-dialogue{grid-template-columns:1fr}.dialogue-card{padding:18px 20px 23px;max-width:90%}.dialogue-card.child-dialogue{margin-left:10%}.dialogue-card p{margin:6px 0}.journey-link{padding:10px 12px}.welcome-visual{aspect-ratio:1.3}.daily-model{grid-template-columns:1fr}}
@media(max-width:850px){.site-header{gap:18px}.brand img{width:220px}.header-caption{display:none}.journey-nav{padding:10px 18px;gap:4px}.journey-link{padding:10px 9px;font-size:.875rem;gap:6px}.journey-number{width:22px;height:22px;font-size:.75rem}.family-app{padding:28px 22px 40px}.welcome-panel{grid-template-columns:1fr 1fr;gap:24px}.welcome-intro{grid-column:1/-1}.welcome-visual{grid-column:1/-1;aspect-ratio:3/1}.welcome-visual img{position:static;width:100%;height:auto;aspect-ratio:3/1}.welcome-visual p{padding:9px 15px;font-size:.875rem}.ser-steps{gap:14px}.ser-steps article{padding:19px 15px}.ser-steps h2{font-size:1.0625rem}.ser-steps p{font-size:.9375rem}.welcome-action{align-items:flex-start}.plan-heading{gap:22px}.plan-workspace{display:block}.day-sidebar{padding:0;border:0;margin-bottom:25px}.day-heading{display:flex;justify-content:space-between;gap:20px}.day-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.day-nav button{justify-content:center;padding:10px 8px;min-height:49px;background:var(--surface);border-color:var(--line)}.day-nav button>span:last-child{display:none}.day-nav button[aria-pressed=true]{background:var(--soft);border-color:var(--blue)}.day-nav .day-number{width:29px;height:29px;border:0;background:none;box-shadow:none}.day-nav button[aria-pressed=true] .day-number{box-shadow:none}.day-content{scroll-margin-top:115px}.plan-dialogue{grid-template-columns:repeat(3,1fr)}.dialogue-card{max-width:100%;padding:16px 13px 24px}.dialogue-card.child-dialogue{margin:0}.daily-model{grid-template-columns:1fr 1fr}.plan-story-visual img{min-height:150px}}
@media(max-width:640px){.site-header{padding:11px 15px;gap:6px}.brand img{width:220px;max-width:calc(100vw - 152px)}.preferences{gap:6px}.language-control button{min-width:34px}.theme-button{padding:8px}.family-app{padding:23px 18px 35px}.family-app h1{font-size:2rem;letter-spacing:-.8px}.family-app h1 br{display:none}.journey-nav{display:grid;grid-template-columns:1fr 1fr;padding:11px 14px;gap:5px}.journey-link{justify-content:flex-start;min-height:42px;padding:8px 10px;font-size:.875rem}.journey-link:last-child{margin:0}.welcome-panel{display:block}.welcome-intro{margin-bottom:23px}.welcome-visual{margin-bottom:24px;aspect-ratio:1.9}.welcome-visual img{width:300%;height:100%;max-width:none;object-fit:fill;position:absolute}.welcome-visual p{font-size:.875rem}.ser-steps{display:grid;grid-template-columns:1fr;gap:13px}.ser-steps article{padding:20px;display:grid;grid-template-columns:40px 1fr;gap:8px 15px}.ser-letter{grid-row:1/3;width:40px;height:40px}.ser-steps h2{margin:0;font-size:1.125rem}.ser-steps p{font-size:1rem}.welcome-boundary{margin:25px 0;padding:0 15px}.welcome-action{flex-direction:column;padding:22px;gap:22px}.welcome-action>div{width:100%}.welcome-action .primary{width:100%}.welcome-action .helper{text-align:center}.ready-label{align-items:flex-start}.ready-label input{margin-top:3px}.question-card{padding:24px 20px;border-radius:18px}.survey-wrap{margin:0 auto}.survey-fieldset legend{font-size:1.35rem}.survey-option{padding:16px 14px;font-size:1rem}.question-actions{gap:12px}.question-actions .primary,.question-actions .secondary{width:auto;min-width:100px;padding:12px 14px}.question-actions .primary svg{display:none}.plan-heading{display:block}.plan-heading p{font-size:.9375rem}.export-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none;margin-top:24px}.export-actions .primary,.export-actions .secondary{padding:11px 9px;font-size:.875rem;min-height:49px}.export-actions .text-button{grid-column:1/-1}.export-actions #export-status{grid-column:1/-1}.plan-overview{gap:12px}.plan-overview article{padding:17px}.plan-overview h2{font-size:1.125rem}.plan-overview .small-label{font-size:.75rem;letter-spacing:.6px}.plan-overview p{font-size:.9375rem}.plan-overview article:nth-child(2) p{font-size:.875rem}.adaptation-details{padding:5px 17px}.adaptation-grid,.answer-review dl{grid-template-columns:1fr}.day-heading{display:block}.day-heading h2{margin-bottom:4px}.day-nav{gap:7px}.day-nav button{padding:9px}.daily-heading h2{font-size:1.55rem}.daily-heading p{font-size:.9375rem}.day-tabs button{font-size:.875rem;line-height:1.35}.day-tabs button svg{display:none}.plan-story-visual img{min-height:0;aspect-ratio:3/1}.illustration-caption{font-size:.8125rem;padding:10px 12px}.daily-model{grid-template-columns:1fr;gap:13px}.daily-model>div{padding:20px}.plan-dialogue{grid-template-columns:1fr;gap:12px}.dialogue-card{max-width:93%;padding:18px 19px 25px}.dialogue-card.child-dialogue{margin-left:7%}.dialogue-card p{font-size:1.125rem}.dialogue-card.child-dialogue p{font-size:1rem}.response-buttons{grid-template-columns:1fr}.daily-check-card{padding:20px}.daily-check-card .check-row span{font-size:1rem}.daily-check-card .check-row input{width:24px;height:24px}.pediatrician-note{padding:21px}.plan-footer .text-button{text-align:left}.small-label{font-size:.8125rem}.plan-safety .text-button{text-align:left}.family-app .primary,.family-app .secondary{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{
  @page{size:A4;margin:16mm}
  body.printing-plan{color:#222!important;background:white!important;font-family:Arial,sans-serif!important}
  .printing-plan>.site-header,.printing-plan>.journey-nav,.printing-plan>.family-app,.printing-plan>.app-shell,.printing-plan>.skip-link,.printing-plan>#announcement,.printing-plan>dialog{display:none!important}
  .printing-plan>#print-plan{display:block!important;color:#222;background:white}
  #print-plan h1{font:700 21pt/1.2 Arial;color:#006bab;margin:10px 0}
  #print-plan h2{font:700 13pt/1.3 Arial;color:#006bab;margin:15px 0 8px}
  #print-plan h3{font:700 11pt/1.3 Arial;margin:13px 0 6px}
  #print-plan p,#print-plan dt,#print-plan dd{font:10pt/1.4 Arial;margin:6px 0;overflow-wrap:anywhere}
  #print-plan dt{font-weight:bold;margin-top:10px}
  #print-plan dd{margin-left:10px}
  #print-plan .print-small{font-size:8pt;color:#555}
  #print-plan .print-logo{width:200px;height:auto;display:block;margin-bottom:20px}
  #print-plan .print-story{width:100%;height:auto;max-height:48mm;object-fit:contain;display:block}
  #print-plan .print-day,#print-plan .print-end{break-before:page}
  #print-plan .print-check{break-inside:avoid}
  #print-plan h1,#print-plan h2,#print-plan h3{break-after:avoid}
  #print-plan img{break-inside:avoid}
}
