.resource-nav{position:sticky;top:0;z-index:100;background:#fff6e9;color:#241c3b;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px;padding:14px 22px;border-bottom:2px solid #241c3b;box-shadow:0 4px 0 #241c3b15;font:700 13px Manrope,sans-serif}.resource-nav a{color:inherit;text-decoration:none;padding:7px}.resource-nav a:hover{text-decoration:underline;text-underline-offset:5px}.resource-nav button{background:#241c3b;color:#fff6e9;border:0;border-radius:4px;padding:11px 15px;font:inherit;cursor:pointer}html{scroll-padding-top:100px}a:focus-visible,button:focus-visible{outline:3px solid #d05a33;outline-offset:5px}section[id]{scroll-margin-top:100px}p,li{line-height:1.75}body{overflow-wrap:break-word}.resource-nav a:first-child{margin-right:auto}
.playlist-rail{position:fixed;z-index:99;right:15px;top:115px;width:50px;display:flex;flex-direction:column;align-items:center;gap:5px;background:#14172bf2;padding:12px 3px;border:1px solid #f4efe42b;border-radius:30px;opacity:0;visibility:hidden;transform:translateX(70px);transition:transform .5s,opacity .3s,visibility .3s;--track-accent:var(--teal)}.playlist-rail.visible{opacity:1;visibility:visible;transform:none}.playlist-rail a{width:40px;height:40px;display:grid;place-items:center;font-size:11px;font-weight:800;text-decoration:none;border-radius:50%;color:var(--paper)}.playlist-rail a[aria-current]{background:var(--track-accent);color:var(--ink)}.playlist-caption{position:absolute;right:65px;top:15px;white-space:nowrap;font:700 11px Manrope;color:var(--track-accent);background:#14172bf2;padding:8px 12px;border-radius:20px;opacity:0;transition:opacity .2s}.playlist-rail:hover .playlist-caption,.playlist-rail:focus-within .playlist-caption{opacity:1}.playlist-rail::after{content:'';position:absolute;left:50%;bottom:4px;width:30px;height:2px;background:var(--track-accent);transform:translateX(-50%) scaleX(var(--track-progress,0));transform-origin:left}.track-card.current-track{box-shadow:0 0 0 2px currentColor}
@media(max-width:1100px){.playlist-rail{top:auto;bottom:12px;right:50%;transform:translate(50%,100px);width:auto;flex-direction:row;gap:3px;padding:5px;border-radius:30px;box-shadow:0 4px 20px #0007}.playlist-rail.visible{transform:translate(50%,0)}.playlist-rail a{width:36px;height:36px}.playlist-caption{display:none}.playlist-rail::after{bottom:2px;width:85%;height:1px}.lesson:last-of-type{padding-bottom:80px}}
@media print{.playlist-rail{display:none!important}}
.playlist-rail a{width:44px;height:44px}
@media(max-width:650px){.resource-nav{gap:4px;padding:8px 10px;font-size:11px}.resource-nav a:first-child{width:100%;margin:0;text-align:left}.resource-nav button{padding:8px}.resource-nav a{padding:5px}html{scroll-padding-top:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.resource-nav,.ticker,nav,.back-link,.sticker{display:none!important}body{background:white!important;color:#17252b!important}section,article,.card{box-shadow:none!important;transform:none!important;break-inside:avoid}h1,h2,h3{break-after:avoid}a{color:inherit!important}section[id]{scroll-margin-top:0}*{animation:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media print{body,body *{color:#17252b!important;text-shadow:none!important;box-shadow:none!important}body,section,article,.step,.big-idea,.why-block,.exit-ticket,.meta-box,.handout{background:white!important}.hero{padding:10mm 0!important}.hero h1{font-size:45pt!important}.lesson{padding-top:10mm!important;padding-bottom:10mm!important}.track-list,.tape,.ticker{display:none!important}.handout{border:1px solid #17252b!important}.fill-line{border-color:#17252b!important}.exit-ticket{border:1px solid #17252b!important}.lesson-head{break-after:avoid}.steps{display:block!important}.step{margin-bottom:6mm}.wrap{width:100%!important;max-width:none!important;padding:0!important}@page{size:A4;margin:15mm}}
/* Resource links should land at the lesson, without an animated journey through a long packet. */
html{scroll-behavior:auto}section[id]{scroll-margin-top:0}
@media print{
 @page{size:A4;margin:12mm}
 .tracklist,.hero a,footer{display:none!important}
 section,.wrap{break-inside:auto!important}
 body{font-size:10pt!important}p,li{line-height:1.45!important}
 .hero h1{font-size:36pt!important}.hero p{font-size:12pt!important}
 .lesson{break-before:page!important;padding:0!important;border:0!important}
 .lesson-head{gap:12px;margin-bottom:8px}.lesson h2{font-size:24pt!important;line-height:1.12}
 .lesson-eyebrow{font-size:8pt!important}.icon{width:36px;height:36px}.icon svg{width:22px;height:22px}
 .big-idea{font-size:16pt!important;padding:8px 12px;margin:10px 0 16px}
 .meta-grid{grid-template-columns:1fr 1fr!important;gap:10px;margin-bottom:16px}
 .meta-box{padding:8px 10px;border:1px solid #acb4b5!important;border-radius:0}
 .meta-box p,.why-block p,.step p,.step ul{font-size:10pt!important}
 .meta-box .label,.why-block .label{font-size:8pt!important;margin-bottom:5px}
 .why-block{margin-bottom:16px}.sequence{margin-bottom:12px}.seq-title{font-size:17pt;margin-bottom:14px}
 .step{grid-template-columns:28px 1fr;gap:12px;padding-bottom:10px;margin-bottom:10px!important}
 .step-num{font-size:20pt}.step h4{font-size:9pt;margin:0 0 5px}
 .step p,.step ul{font-size:9.5pt!important;line-height:1.35!important}.step li{margin-bottom:3px}
 .lesson h2{font-size:23pt!important}.step{padding-bottom:8px;margin-bottom:8px!important}
 .exit-ticket{padding:10px;margin:10px 0}
 .handout{break-before:page;break-inside:avoid;padding:10mm!important;margin:0!important;border-radius:0}
 #peace-plan .handout,#mediation-agreement .handout{break-before:auto}
 .handout h3{font-size:23pt}.handout .sub{font-size:15pt}.handout-tag{background:white!important;border:1px solid #17252b}
 .handout .field{margin-bottom:13px}.handout .flabel{font-size:9pt}.handout .checklist{font-size:9pt}
 .handout .fill-line{height:24px}.handout .flow{font-size:10pt}.lesson .wrap{padding:0!important;width:calc(100% - 2px)!important;margin:0!important}
}
