.teresa-theme-page{background:#fffdf7;color:#123b53;--theme-green:#edf4ed;--theme-blue:#1d5a82;--theme-border:#cad9d6}
.teresa-theme-page .container{max-width:1160px}
.teresa-theme-page [id]{scroll-margin-top:96px}
.teresa-theme-page :is(a,button,summary,input):focus-visible{outline:3px solid #1d5a82;outline-offset:4px}
.teresa-theme-page p{line-height:1.7}
.teresa-kicker{font-size:.78rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#42605e}
.teresa-intro{background:#fff7e6;padding:24px 0 0;border-bottom:1px solid #e4dccb;position:relative;overflow:hidden}
.teresa-intro:before{content:"";position:absolute;right:0;top:0;bottom:0;width:16px;border-inline:4px solid #306d95;background:linear-gradient(90deg,transparent 3px,#306d95 3px,#306d95 6px,transparent 6px);opacity:.65}
.teresa-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;margin-bottom:36px}
.teresa-breadcrumbs a{color:#315b6e;padding-block:5px;text-underline-offset:4px}
.teresa-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;padding-bottom:36px}
.teresa-lead h1{font-size:clamp(2.5rem,4.6vw,4.4rem);line-height:1.04;letter-spacing:-.045em;margin:14px 0 20px;overflow-wrap:normal}
.teresa-lead h1 em{font-style:normal;color:#246245}
.teresa-ingress{font-size:1.13rem;max-width:38ch;margin:0 0 14px}
.teresa-age{font-size:.84rem;color:#435b62}
.teresa-primary-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:22px}
.teresa-text-link{color:#123b53;font-weight:800;text-underline-offset:5px;padding-block:12px}
.teresa-hero-art{margin:0;transform:rotate(1.5deg)}
.teresa-hero-art img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:28px;border:7px solid #fff;box-shadow:0 14px 36px #123b5320}
.teresa-hero-art figcaption{font-size:.72rem;text-align:center;margin-top:12px;color:#465e62}
.teresa-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dfd7c6;padding:20px 0;gap:16px}
.teresa-steps a{display:flex;align-items:center;gap:14px;color:#123b53;text-decoration:none;min-height:58px;padding:8px;border-radius:12px}
.teresa-steps a:hover{background:#fffdf7}
.teresa-steps a>span{border:1px solid #babba6;border-radius:50%;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;font-weight:800}
.teresa-steps strong,.teresa-steps small{display:block}.teresa-steps small{font-size:.8rem}
.teresa-section{padding:64px 0}
.teresa-section h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;margin:10px 0 18px;letter-spacing:-.025em}
.teresa-listening{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.teresa-byline{font-size:.85rem;color:#53676a}
.teresa-audio-card{background:#fff;border:1px solid var(--theme-border);border-radius:24px;padding:28px;box-shadow:0 8px 24px #123b530a;min-width:0}
.teresa-audio-card h3{font-size:1.2rem;line-height:1.4;margin-bottom:8px}
.teresa-audio-card>p{font-size:.86rem}
.teresa-audio-toggle{width:100%;min-height:54px;gap:10px;font-size:1.05rem;margin-bottom:14px}
.teresa-audio-card audio{width:100%;max-width:100%;min-width:0;height:54px;display:block}
.teresa-audio-card .teresa-audio-status{min-height:1.7em;margin:12px 0;color:#34544e;font-weight:650}
.teresa-listen-links{display:flex;flex-direction:column;align-items:start;gap:10px;font-size:.86rem}
.teresa-listen-links a{padding:6px 0;min-height:32px;color:#1d5a82;text-underline-offset:4px}
.teresa-section--green{background:var(--theme-green)}
.teresa-section-heading{max-width:700px;margin-bottom:30px}
.teresa-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.teresa-questions article{padding:26px;background:#fffdf7;border:1px solid #d7e2d7;border-radius:20px}
.teresa-questions article>span{display:grid;place-items:center;background:#e8efe3;color:#246245;border-radius:50%;width:42px;height:42px;font-size:1.5rem;margin-bottom:18px}
.teresa-questions h3{font-size:1.12rem;margin:0 0 10px}.teresa-questions p{margin:0;font-size:1rem}
.teresa-grownups{border-top:1px solid #cad9c9;margin-top:28px}
.teresa-grownups summary{font-weight:800;padding:20px 0;cursor:pointer;min-height:48px}
.teresa-grownups>div{max-width:76ch}.teresa-grownups p{font-size:.95rem}
.teresa-missions{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.teresa-missions legend{font-size:1rem;font-weight:800;margin-bottom:18px}
.teresa-mission{position:relative;display:flex;cursor:pointer;min-width:0}
.teresa-mission input{position:absolute;top:25px;right:24px;width:23px;height:23px;accent-color:#246245;cursor:pointer;z-index:1}
.teresa-mission__body{display:flex;flex-direction:column;gap:14px;border:2px solid #d8ded4;border-radius:22px;padding:24px;width:100%;background:#fffdf7}
.teresa-mission__number{font-size:1.8rem;color:#5b7669;font-weight:800;line-height:1}
.teresa-mission__body>strong{font-size:1.25rem;line-height:1.25}.teresa-mission__body>span:not([class]){font-size:.96rem;line-height:1.65}
.teresa-mission__body small{font-size:.8rem;color:#496256;margin-top:auto;padding-top:8px}
.teresa-mission__select{font-size:.85rem;font-weight:800;border-top:1px solid #d4ded1;padding-top:14px;display:flex;justify-content:space-between;gap:8px}
.teresa-mission input:checked+.teresa-mission__body{background:#edf4ed;border-color:#246245;box-shadow:0 0 0 1px #246245}
.teresa-mission:has(input:focus-visible) .teresa-mission__body{outline:3px solid #1d5a82;outline-offset:4px}
.teresa-plan{display:flex;gap:24px;justify-content:space-between;align-items:center;background:#eef3f6;border-radius:20px;padding:26px;margin-top:28px}
.teresa-plan h3{font-size:1.2rem;margin:8px 0}.teresa-plan p{margin:0;max-width:58ch}.teresa-plan .button{flex-shrink:0;white-space:normal}
.teresa-afterwards{font-size:.9rem;max-width:76ch;margin-top:22px}
.teresa-prayer{background:#123b53;color:#fff9ed}.teresa-prayer .teresa-kicker{color:#c9ded6}
.teresa-prayer__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.teresa-prayer h2{color:#fff9ed}.teresa-prayer p{font-size:1.12rem}
.teresa-prayer__note{border-left:1px solid #61848a;padding-left:40px}.teresa-prayer__note>span{font-size:3rem;color:#f6d287}.teresa-prayer .teresa-text-link{color:#ffdf9c}
.teresa-parent-note .container{max-width:850px}.teresa-parent-note h2{font-size:1.7rem}.teresa-parent-note p{font-size:.95rem}
.teresa-footer{border-top:1px solid #d8e0d8;padding:30px 0;background:#eef3ee}.teresa-footer .container{display:flex;justify-content:space-between;gap:24px;align-items:center}.teresa-footer p{font-size:.75rem;margin:0}.teresa-footer a{font-weight:750;font-size:.85rem;color:#123b53;min-height:44px;display:inline-flex;align-items:center}
.teresa-print-sheet{display:none}
@media(max-width:850px){.teresa-hero-grid{gap:24px}.teresa-hero-art{transform:none}.teresa-primary-actions{gap:8px}.teresa-listening{gap:28px}.teresa-mission__body{padding:20px}.teresa-questions article{padding:20px}.teresa-plan{align-items:start;flex-direction:column}.teresa-steps a{gap:8px}.teresa-steps small{font-size:.7rem}}
@media(max-width:680px){
 .teresa-theme-page .container{width:calc(100% - 36px)}
 .teresa-intro{padding-top:14px}.teresa-intro:before{width:10px;border-inline-width:2px;opacity:.45}
 .teresa-breadcrumbs{margin-bottom:22px;font-size:.74rem}
 .teresa-hero-grid{grid-template-columns:1fr;gap:22px;padding-bottom:22px}
 .teresa-kicker{font-size:.69rem;letter-spacing:.065em}
 .teresa-lead h1{font-size:clamp(2.3rem,10.5vw,3.4rem);margin:12px 0 14px}
 .teresa-ingress{font-size:1rem;line-height:1.6!important;margin-bottom:10px}.teresa-age{font-size:.73rem;margin:0}
 .teresa-primary-actions{margin-top:16px;gap:4px 18px}.teresa-primary-actions .button{min-height:48px;font-size:.94rem}.teresa-text-link{font-size:.86rem}
 .teresa-hero-art img{border-radius:18px;border-width:4px;max-height:225px}.teresa-hero-art figcaption{font-size:.67rem;margin-top:7px}
 .teresa-steps{gap:4px;padding:10px 0}.teresa-steps a{display:block;text-align:center;padding:10px 3px;min-height:64px}.teresa-steps a>span{display:none}.teresa-steps strong{font-size:.95rem}.teresa-steps small{font-size:.62rem;line-height:1.5}
 .teresa-section{padding:36px 0}.teresa-listening{grid-template-columns:1fr;gap:16px}.teresa-section h2{font-size:1.95rem}.teresa-section-heading{margin-bottom:22px}
 .teresa-audio-card{padding:20px 16px;border-radius:18px}.teresa-audio-card h3{font-size:1.1rem}
 .teresa-questions,.teresa-missions{grid-template-columns:1fr;gap:12px}
 .teresa-questions article{padding:20px}.teresa-questions article>span{float:left;margin:0 16px 12px 0}.teresa-questions article p{clear:both}
 .teresa-mission__body{padding:22px}.teresa-mission__number{font-size:1.55rem}.teresa-mission__body>strong{font-size:1.2rem}.teresa-mission__body small{padding-top:0}
 .teresa-plan{padding:22px 18px;gap:18px}.teresa-plan .button{width:100%;font-size:.86rem}
 .teresa-prayer__inner{grid-template-columns:1fr;gap:26px}.teresa-prayer__note{border-left:0;border-top:1px solid #61848a;padding:20px 0 0}.teresa-prayer__note>span{font-size:2.1rem}
 .teresa-footer .container{display:block}.teresa-footer p{margin:10px 0}
}
@media(prefers-reduced-motion:reduce){.teresa-theme-page *{scroll-behavior:auto!important;transition:none!important}}
@page{size:A4;margin:15mm}
@media print{
 .teresa-theme-page{background:#fff;color:#111;font-family:Arial,sans-serif}
 .teresa-theme-page> :not(.teresa-print-sheet){display:none!important}
 .teresa-print-sheet{display:block;font-size:11pt;line-height:1.45}
 .teresa-print-brand{font-size:9pt;letter-spacing:.12em;border-bottom:2px solid #111;padding-bottom:8mm}
 .teresa-print-sheet h1{font-size:25pt;line-height:1.1;margin:7mm 0;color:#111}
 .teresa-print-sheet h2{font-size:14pt;line-height:1.4;color:#111;margin:3mm 0 6mm}
 .teresa-drawing-space{height:95mm;border:1px dashed #777;border-radius:4mm;margin:4mm 0 6mm}
 .teresa-print-sheet p{font-size:10pt;line-height:1.5;margin:3mm 0}
 .teresa-print-prayer{border-top:1px solid #aaa;padding-top:4mm}
 .teresa-print-url{font-size:9pt!important;margin-top:6mm!important}
}

/* A ready-to-color PDF is a separate activity from the personal task sheet. */
.teresa-coloring{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:center;padding:24px;margin:0 0 30px;border:1px solid #d9d6c5;border-radius:22px;background:#fff;box-shadow:0 5px 18px #123b5308}
.teresa-coloring img{width:150px;height:210px;object-fit:contain;border:1px solid #e4e2d8;border-radius:8px;background:#fff}
.teresa-coloring h3{font-size:1.5rem;margin:8px 0 10px;line-height:1.2}
.teresa-coloring p{max-width:58ch;font-size:.95rem;margin:0 0 16px}
.teresa-coloring .teresa-coloring__help{font-size:.78rem;margin:12px 0 0;color:#49606a}
@media(max-width:680px){.teresa-coloring{grid-template-columns:1fr;gap:18px;padding:20px}.teresa-coloring img{width:120px;height:180px;margin-inline:auto}.teresa-coloring .button{width:100%;min-height:48px;font-size:.88rem;white-space:normal}.teresa-coloring h3{font-size:1.4rem}}

/* Familiar short read-aloud controls, shared with the learning pages. */
.teresa-theme-page .teresa-narration{margin:16px 0 0}
.teresa-theme-page .text-narration__toggle{font-size:.88rem;min-height:48px;padding:10px 16px;white-space:normal;text-align:left}
.teresa-theme-page .text-narration__status{font-size:.84rem;line-height:1.5}
.teresa-lead .teresa-narration{margin-top:12px}
.teresa-questions article{display:flex;flex-direction:column}
.teresa-questions .teresa-narration{margin-top:auto;padding-top:18px}
.teresa-mission-card{display:flex;flex-direction:column;min-width:0;background:#fffdf7;border:2px solid #d8ded4;border-radius:22px;overflow:visible}
.teresa-mission-card .teresa-mission{flex:1}
.teresa-mission-card .teresa-mission__body{border:0;background:transparent;box-shadow:none}
.teresa-mission-card:has(input:checked){background:#edf4ed;border-color:#246245;box-shadow:0 0 0 1px #246245}
.teresa-mission-card .teresa-narration{margin:0;padding:0 22px 22px}
.teresa-mission-card .text-narration__toggle{width:100%}
.teresa-prayer .teresa-narration,.teresa-prayer .text-narration__fallback{color:#fff9ed}
.teresa-prayer .text-narration__toggle{background:#fff8e8;color:#123b53}
.teresa-prayer .text-narration__toggle:hover{background:#fff}
