/* [atfc_lesson_page] - theme-adaptive; colors and fonts come from the active theme. */
.atfc-page{--line:color-mix(in srgb,currentColor 22%,transparent);--line-strong:color-mix(in srgb,currentColor 50%,transparent);
  --t1:color-mix(in srgb,currentColor 5%,transparent);--t2:color-mix(in srgb,currentColor 10%,transparent);--mute:color-mix(in srgb,currentColor 75%,transparent);
  font-family:inherit;font-size:var(--wp--preset--font-size--base,1.125rem);line-height:1.6;color:inherit;max-width:var(--wp--style--global--content-size,42rem);margin:0 auto;padding:1rem}
@supports not (color:color-mix(in srgb,red,blue)){.atfc-page{--line:rgba(128,128,128,.4);--line-strong:rgba(128,128,128,.75);--t1:rgba(128,128,128,.1);--t2:rgba(128,128,128,.18);--mute:inherit}}
.atfc-page *{box-sizing:border-box}
.atfc-page h1,.atfc-page h2,.atfc-page h3{font-family:inherit;font-weight:600;line-height:1.15;letter-spacing:-0.02em;color:inherit}
.atfc-page h1{font-size:var(--wp--preset--font-size--xx-large,clamp(2.25rem,5vw,3.5rem));margin:.2rem 0 .8rem}
.atfc-page h2{font-size:var(--wp--preset--font-size--large,2rem);margin:3rem 0 .8rem;padding-top:1rem;border-top:1px solid var(--line-strong);scroll-margin-top:4.5rem}
.atfc-page h3{font-size:1.2rem;margin:1.6rem 0 .4rem}
.atfc-page a:not(.btn){color:inherit;text-decoration:underline}.atfc-page a:not(.btn):hover{text-decoration:underline dashed}
.atfc-page .kicker{font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.atfc-page .lede{font-size:var(--wp--preset--font-size--medium,1.25rem);color:var(--mute)}
.atfc-page .meta{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.9rem;color:var(--mute);margin:.6rem 0 1.2rem}
.atfc-page .call{background:var(--t1);border:1px solid var(--line);border-left:4px solid currentColor;padding:1.1rem 1.4rem;margin:1.4rem 0}
.atfc-page .call small{display:block;font-size:.9rem;color:var(--mute)}
.atfc-page .call a.num{display:inline-block;font-size:2.2rem;font-weight:600;letter-spacing:-0.02em;line-height:1.15;margin:.2rem 0}
.atfc-page nav.toc{background:transparent;border-bottom:1px solid var(--line);padding:.6rem 0;margin:1.2rem 0;display:flex;gap:.4rem;overflow-x:auto;white-space:nowrap}
.atfc-page.has-bg nav.toc{position:sticky;top:var(--atfc-sticky,0);z-index:5;background:var(--wp--preset--color--background)}
.atfc-page nav.toc a{font-size:.85rem;font-weight:500;text-decoration:none;color:inherit;padding:.35rem .75rem;border-radius:.2rem;border:1px solid var(--line-strong)}
.atfc-page nav.toc a.on{background:var(--t2);border-color:currentColor;font-weight:700}
.atfc-page nav.toc a:hover{background:var(--t2);text-decoration:none}
.atfc-page .box{background:var(--t1);border:1px solid var(--line);padding:1rem 1.25rem;margin:1.2rem 0}
.atfc-page .box.warn{background:var(--t2);border-left:4px solid currentColor}
.atfc-page .goals li{margin:.35rem 0}
.atfc-page ol.steps{list-style:none;counter-reset:s;padding:0}
.atfc-page ol.steps>li{counter-increment:s;position:relative;padding:.2rem 0 1rem 3rem;margin:0}
.atfc-page ol.steps>li::before{content:counter(s);position:absolute;left:0;top:.1rem;width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid currentColor;font-size:1rem;font-weight:600;line-height:calc(2.1rem - 4px);text-align:center}
.atfc-page .two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:640px){.atfc-page .two,.atfc-page .row{grid-template-columns:1fr}.atfc-page h1{font-size:2rem}}
.atfc-page .card{border:1px solid var(--line);padding:1rem 1.2rem;background:var(--t1)}
.atfc-page .card h3{margin-top:0}
.atfc-page label{display:block;font-size:.9rem;font-weight:500;margin:.8rem 0 .25rem}
.atfc-page input[type=text],.atfc-page select,.atfc-page textarea{width:100%;font:inherit;font-size:1rem;padding:.6rem .8rem;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit}
.atfc-page option{background:Canvas;color:CanvasText}
.atfc-page input:focus-visible,.atfc-page select:focus-visible,.atfc-page button:focus-visible,.atfc-page summary:focus-visible,.atfc-page a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.atfc-page .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
:where(.atfc-page button.btn){font:inherit;font-size:1rem;font-weight:600;background:transparent;color:inherit;border:2px solid currentColor;border-radius:.2rem;padding:.65rem 1rem;cursor:pointer}
:where(.atfc-page button.btn):hover{background:var(--t2)}
.atfc-page .script{white-space:pre-wrap;background:var(--t2);border-left:4px solid currentColor;padding:1rem 1.2rem;margin:1rem 0}
.atfc-page .seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:.2rem;overflow:hidden;margin:.8rem 0 0}
.atfc-page .seg button{font:inherit;font-size:.9rem;font-weight:500;border:0;background:transparent;color:inherit;padding:.45rem .9rem;cursor:pointer}
.atfc-page .seg button.on{background:var(--t2);font-weight:700;box-shadow:inset 0 -3px 0 currentColor}
.atfc-page .check{list-style:none;padding:0}
.atfc-page .check li{margin:.5rem 0}
.atfc-page .check label{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;font-weight:400;margin:0;cursor:pointer}
.atfc-page .check input{margin-top:.3rem;width:1.1rem;height:1.1rem;accent-color:currentColor}
.atfc-page .bar{height:6px;background:var(--line);overflow:hidden;margin:.5rem 0}
.atfc-page .bar i{display:block;height:100%;width:0;background:currentColor;transition:width .25s}
.atfc-page details{border:1px solid var(--line);padding:.7rem 1rem;margin:.5rem 0;background:var(--t1)}
.atfc-page summary{cursor:pointer;font-weight:600}
.atfc-page table{border-collapse:collapse;width:100%;font-size:.95rem}
.atfc-page th,.atfc-page td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;vertical-align:top}
.atfc-page th{background:var(--t2);font-weight:600}
.atfc-page .toolslot{border:1px dashed var(--line-strong);padding:1.2rem;background:var(--t1)}
.atfc-page dl dt{font-weight:600;margin-top:.9rem}
.atfc-page dl dd{margin:0;color:var(--mute)}
.atfc-page footer.src{font-size:.85rem;color:var(--mute);margin-top:3rem;border-top:1px solid var(--line);padding-top:1rem}
.atfc-page a.atfc-btn{text-decoration:none}
