/* Readable course reference: spacious desktop, stacked mobile. */
:root{--reading-ink:#193e50;--reading-muted:#516b78;--support-red:#a53730}
body{font-size:18px;line-height:1.65;color:var(--reading-ink)}
.content-shell{container-type:inline-size}
main.lesson-page{width:min(1120px,calc(100% - 64px))}
.course-reference-intro{width:min(1120px,calc(100% - 64px));margin:32px auto 0;padding:28px 32px}
.topbar{padding:16px 32px;gap:24px}.brand small{font-size:.88rem;line-height:1.5;max-width:390px}.brand-logo{max-width:130px;height:auto}.section-nav{flex-wrap:wrap;justify-content:flex-end}.section-nav a{font-size:.94rem;padding:10px 14px}
.lesson-nav button{font-size:1rem;line-height:1.45;padding:14px 12px}.sidebar-brand strong{font-size:1.2rem}
.lesson-page .intro,.reference-page .intro{grid-template-columns:1fr;align-items:start;gap:24px;padding:48px 0 32px}
.lesson-page .intro h1,.reference-page .intro h1{font-size:clamp(2.25rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.035em;max-width:950px;text-wrap:balance}
.lesson-page .intro p:not(.eyebrow){font-size:1.12rem;line-height:1.7;max-width:760px}.eyebrow{font-size:.83rem;line-height:1.6;letter-spacing:.08em}
.principle{justify-content:flex-start;gap:10px}.principle span{padding:12px 18px;font-size:1rem}.reference-tools{flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px}
.panel{padding:36px 0}.section-head{align-items:flex-start;flex-wrap:wrap;gap:18px;margin-bottom:24px}.section-head h2{font-size:clamp(1.65rem,2.6vw,2.35rem);line-height:1.25;letter-spacing:-.025em;text-wrap:balance}.section-note{text-align:left;max-width:680px;font-size:1rem;line-height:1.6}
.reference-recap{padding:28px 32px;margin-bottom:32px}.reference-recap h2{font-size:1.5rem;line-height:1.4}.reference-recap p{max-width:800px}.reference-recap nav a{padding:12px 18px;font-size:.95rem;line-height:1.5}.course-reference-intro summary,.reference-recap summary{padding:8px 0;min-height:44px}
.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.reference-card{padding:28px;border-radius:22px;box-shadow:0 8px 24px #173a4b08}.reference-card h2{font-size:1.55rem;line-height:1.35;margin-bottom:22px;padding-bottom:16px;border-bottom:3px solid #e6eef1}.reference-card:nth-child(3n+2) h2{border-color:#f3dea3}.reference-card:nth-child(3n) h2{border-color:#d8e6c9}.reference-card h3{font-size:1.28rem;line-height:1.4}.reference-card p{font-size:1.06rem;line-height:1.75}
.reference-card .phrase{grid-template-columns:1fr;gap:8px;padding:17px 0}.reference-card .phrase b{font-size:1.15rem;line-height:1.5}.reference-card .it,.reference-card .it-block,.reference-card .it-sub,.reference-card .card small{color:var(--support-red);font-size:1rem;line-height:1.65}
.reference-card .phrase-grid,.reference-card .cards,.reference-card .rubric{grid-template-columns:1fr;gap:16px}.reference-card .card,.reference-card .age{padding:20px;border-radius:14px}.reference-card .bank span{flex-direction:column;gap:6px}.reference-card .steps{gap:12px}.reference-card .steps>span{padding:16px;font-size:1rem;min-width:min(100%,170px);flex:1}.reference-card .script{display:grid;gap:14px}.reference-card .script>span{padding:16px;background:#f0f6f8;border-radius:12px;line-height:1.6}.reference-card .script>span>div{margin-top:6px;color:var(--support-red);font-size:1rem}.reference-card .checklist>div{padding:14px 0;border-bottom:1px solid #e4ecef}.reference-card .action>div{padding:16px 0}.reference-card .chips{gap:12px}.reference-card .chip{padding:12px 16px;line-height:1.6}.reference-principle{padding:28px 32px;line-height:1.75}.reference-principle .it-block{font-size:1rem;line-height:1.7}
.language-table th,.language-table td{padding:18px 20px;font-size:1rem;line-height:1.65}.language-table td:first-child{font-size:1.12rem}.language-table th{font-size:.94rem}.table-scroll{overflow-x:auto;border-radius:16px}.lesson1-table{min-width:0}.language-table{table-layout:auto}
.adaptations{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.age-card{padding:22px;line-height:1.7}.age-card strong{font-size:1.1rem;margin-bottom:12px}.age-it{line-height:1.65;color:var(--support-red)}
.routine-grid{gap:20px}.routine-card{padding:24px}.routine-card h3{font-size:1.35rem}.routine-card li{line-height:1.7;margin:8px 0}
.song-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.song-purpose-card{padding:24px}.song-purpose-card p{font-size:1.15rem}.song-purpose-card small{font-size:1rem;line-height:1.65}.song-choice-list{line-height:1.7}.song-lab-summary{padding:24px;gap:18px}.song-lab-summary strong{font-size:1.4rem;line-height:1.35}.song-lab-summary small{font-size:1rem;line-height:1.65;margin-top:8px}.song-lab-body{padding:0 24px 24px}.song-lab-method{grid-template-columns:1fr;gap:20px}.song-lab-method>div{padding:22px}.song-lab-method p,.song-lab-method li{font-size:1.05rem;line-height:1.75}.song-lab-method strong{font-size:1.15rem;line-height:1.5}.song-lab-method .l3-it{color:var(--support-red)}.lesson3-slide-nav{flex-wrap:wrap;gap:10px;position:static}.lesson3-slide-nav a,.lesson3-slide-nav button{font-size:1rem;padding:12px 16px}.game-summary{padding:24px;grid-template-columns:auto minmax(0,1fr) auto;gap:16px}.game-summary h3{font-size:1.5rem;line-height:1.3}.game-summary p{font-size:1rem;line-height:1.6}.game-body{padding:0 24px 24px}.game-intro{padding:22px;line-height:1.7}.vocab-grid{gap:18px}.vocab-card strong{font-size:1.5rem}.vocab-card small{font-size:1.05rem}.vocab-card{padding:20px;min-height:200px}.vocab-toolbar{flex-wrap:wrap;gap:18px}.toggle{white-space:normal;font-size:1rem;line-height:1.4;min-height:44px}.toggle>span{flex-shrink:0}.topic-tabs{flex-wrap:wrap;overflow:visible;gap:10px}.topic-tab{font-size:1rem;min-height:48px}.prompt-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.prompt-controls .toggle{grid-column:1/-1}.prompt-english{line-height:1.2}.prompt-italian{line-height:1.6}
#lesson8 .toolkit-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:28px}#lesson8 .tk-vocab h3{font-size:clamp(2rem,3vw,2.65rem);line-height:1.18}.tk-example p{font-size:1.15rem;line-height:1.75}.tk-translation{font-size:1rem;line-height:1.7}.tk-card-top{font-size:.9rem}.tk-card-top .toolkit-it{font-size:.9rem}.toolkit-filters button{padding:14px 18px;font-size:1rem}.toolkit-filters button .toolkit-it{font-size:.9rem}.tk-subtitle{font-size:1rem;line-height:1.6}.tk-help{font-size:1rem;min-height:44px}.tk-example small{font-size:.8rem}.tk-mode button,.tk-flash-options button,.tk-flash-nav button{min-height:48px}.tk-key-hint{font-size:1rem}#toolkitCount{font-size:1rem}
footer{padding:28px 32px;flex-wrap:wrap;font-size:1rem;gap:16px}
@container(max-width:940px){.reference-grid,.adaptations,.song-purpose-grid,.routine-grid{grid-template-columns:1fr}.vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-card{padding:26px}.reference-card .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{display:flex;flex-direction:column;align-items:flex-start}.song-lab-summary strong{font-size:1.3rem}}
@media(max-width:760px){
body{font-size:17px}.topbar{position:static;padding:18px 20px;padding-top:64px;align-items:flex-start}.brand{gap:14px}.brand-logo{max-width:95px}.brand strong{font-size:1.1rem}.brand small{font-size:.85rem;max-width:220px}.section-nav{display:none}
main.lesson-page{width:calc(100% - 32px)}.course-reference-intro{width:calc(100% - 32px);margin:20px auto 0;padding:22px}.course-reference-intro h2{line-height:1.35;font-size:1.55rem}.course-reference-intro p{font-size:1rem}
.lesson-page .intro,.reference-page .intro{padding:34px 0 26px}.lesson-page .intro h1,.reference-page .intro h1{font-size:2.3rem;line-height:1.16}.lesson-page .intro p:not(.eyebrow){font-size:1.05rem;line-height:1.75}.eyebrow{font-size:.8rem}.reference-recap{padding:22px}.reference-recap h2{font-size:1.35rem}.reference-recap p{font-size:1rem}.reference-recap nav{align-items:stretch;flex-direction:column}.reference-recap nav a{font-size:1rem}.panel{padding:28px 0}.section-head h2{font-size:1.75rem;line-height:1.3}.section-head{gap:16px}.reference-grid{gap:24px}.reference-card{padding:22px}.reference-card h2{font-size:1.45rem}.reference-card .cards,.reference-card .rubric{grid-template-columns:1fr}.reference-principle{padding:24px}.reference-tools{gap:16px}.reference-tools button{width:100%;min-height:48px}
/* Stack language rows with their actual column labels on a narrow screen. */
.table-scroll{overflow:visible}.language-table{display:block;border:0;background:transparent;border-radius:0;overflow:visible;width:100%}.language-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-table tbody{display:grid;gap:18px;width:100%}.language-table tr{display:block;border:1px solid #d5e2e7;border-radius:16px;padding:8px 18px;background:white;box-shadow:0 4px 14px #173a4b05}.language-table td{display:block;width:auto!important;padding:14px 0;border-bottom:1px solid #e2e9ed;font-size:1rem}.language-table td:first-child{font-size:1.2rem}.language-table td::before{content:attr(data-label);display:block;font-size:.8rem;font-weight:600;color:#5a7481;letter-spacing:.025em;margin-bottom:7px}.language-table td:last-child{border-bottom:0}.language-table .l1-it,.language-table .italian-col,.language-table .l3-it{color:var(--support-red)}
.song-lab-summary{padding:20px;grid-template-columns:42px minmax(0,1fr) 16px;gap:12px}.song-lab-icon{width:40px!important;height:40px!important;font-size:1.7rem}.song-lab-summary strong{font-size:1.2rem}.song-lab-summary small{font-size:1rem}.song-lab-body{padding:0 18px 20px}.song-lab-method>div{padding:18px}.song-lab-method{gap:16px}.song-lab-method ul{padding-left:22px}.compact-adaptations{grid-template-columns:1fr}.game-summary{padding:20px;gap:12px}.game-summary h3{font-size:1.25rem}.game-summary p{font-size:1rem}.game-body{padding:0 18px 20px}.game-summary .game-number{width:36px;height:36px}.game-topic,.game-controls{flex-wrap:wrap}.game-summary>small{grid-column:2}
.vocab-surface{padding:18px}.vocab-card{padding:14px;min-height:175px}.vocab-card strong{font-size:1.25rem}.vocab-grid{gap:12px}.vocab-icon{height:85px}.vocab-toolbar h3{font-size:1.45rem}.principle span{padding:10px 13px}.prompt-controls{grid-template-columns:1fr}.prompt-controls .toggle{grid-column:auto}.prompt-stage{padding:26px}.prompt-english{font-size:2.25rem}.prompt-italian{font-size:1.1rem}
#lesson8 .toolkit-grid{grid-template-columns:1fr;gap:24px}#lesson8 .toolkit-card.tk-vocab{padding:0 22px 24px}#lesson8 .tk-vocab h3{font-size:2.2rem}.toolkit-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toolkit-filters button{text-align:left;border-radius:14px;padding:13px 12px;font-size:.95rem;line-height:1.5;white-space:normal}.toolkit-filters button .toolkit-it{font-size:.85rem}.toolkit-filters button:first-child{grid-column:1/-1}.tk-mode{display:flex;width:100%}.tk-mode button{flex:1;font-size:1rem}.tk-flash-options{justify-content:flex-start}.tk-flash-options label{width:100%}.tk-flash-options select{width:100%;font-size:1rem}.tk-flash-options button{width:100%}.tk-flash-card{padding:24px 22px;min-height:0}.tk-flash-card h3{font-size:2.5rem;overflow-wrap:break-word}.tk-flash-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tk-flash-nav #tkReveal{grid-column:1/-1;grid-row:1}.tk-flash-nav button{font-size:1rem;padding:13px 10px}.tk-answer{padding:20px}.tk-answer h4{font-size:1.7rem}.tk-key-hint{display:none}footer{padding:26px 20px;flex-direction:column;gap:10px}
}
@media(max-width:360px){.vocab-grid{grid-template-columns:1fr}.toolkit-filters{grid-template-columns:1fr}.toolkit-filters button:first-child{grid-column:auto}.brand-logo{max-width:74px}.brand small{max-width:175px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:760px){.language-table,.chant-language-table,.lesson1-table{min-width:0!important;max-width:100%}.language-table tbody,.language-table tr,.language-table td{min-width:0;overflow-wrap:break-word}}
#lesson8.hide-toolkit-italian .toolkit-it{display:none}#lesson8.hide-toolkit-italian .tk-local-help .toolkit-it{display:block}
