@charset "UTF-8";
:root {
  --paper: #f7f4eb;
  --white: #fffef9;
  --green: #164d3e;
  --deep: #123e33;
  --ink: #243d34;
  --muted: #647269;
  --line: #d9ded2;
  --wash: #ecf0e6;
  --orange: #bb652f;
  --peach: #eed6b7;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  --radius: 9px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 106px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; }
body, input, button, select, textarea { font-family: var(--sans); }
button, input, select { font-size: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, summary, select { cursor: pointer; }
button { color: inherit; }
button:disabled { cursor: default; opacity: .38; }
button:not(:disabled), a { touch-action: manipulation; }
a { color: var(--green); text-decoration: none; }
a:hover { color: var(--orange); }
p, h1, h2, h3, h4 { margin-top: 0; }
p { margin-bottom: 1.1em; }
h1, h2, h3, h4 { text-wrap: balance; }
ul, ol { padding-left: 1.4em; }
li + li { margin-top: .45em; }
strong { font-weight: 650; }
svg { flex: none; vertical-align: middle; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; border-radius: 3px; }
::selection { background: #e8c9a4; color: #173e32; }
.wrap { max-width: 1280px; margin: 0 auto; padding-left: 56px; padding-right: 56px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -80px; left: 20px; z-index: 200; background: var(--green); color: white; padding: 12px 22px; border-radius: 4px; }
.skip-link:focus { top: 12px; }
.eyebrow { display: block; font-size: 12px; font-weight: 650; line-height: 1.5; letter-spacing: .1em; color: var(--orange); }
.mini-label { font-size: 11px; font-weight: 700; letter-spacing: .12em; color: var(--muted); }
.icon { width: 19px; height: 19px; }
.button { display: inline-flex; min-height: 49px; justify-content: center; align-items: center; gap: 10px; border: 1px solid #b9c7ba; border-radius: 5px; padding: 11px 20px; background: transparent; color: var(--green); font-size: 14px; font-weight: 650; line-height: 1.5; transition: background .16s, border-color .16s, transform .16s; }
.button:hover:not(:disabled) { background: #e5ebdf; border-color: var(--green); color: var(--green); transform: translateY(-1px); }
.button-primary { background: var(--green); color: var(--white); border-color: var(--green); }
.button-primary:hover:not(:disabled) { background: var(--deep); color: white; }
.button-quiet { border-color: transparent; padding-left: 10px; padding-right: 10px; }
.button-quiet:hover:not(:disabled) { border-color: transparent; }
.button-small { font-size: 12px; min-height: 42px; padding: 9px 14px; gap: 7px; }
.button-small .icon { width: 16px; height: 16px; }
.text-link { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; }
.text-link .icon { width: 16px; height: 16px; }
.small-muted { font-size: 12px; color: var(--muted); }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(247, 244, 235, .96); border-bottom: 1px solid #dde0d5; backdrop-filter: blur(15px); }
.header-inner { max-width: 1280px; height: 91px; padding: 0 56px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.brand { display: inline-flex; align-items: center; gap: 13px; font-size: 17px; line-height: 1.5; font-weight: 650; letter-spacing: .03em; white-space: nowrap; }
.brand:hover { color: var(--green); }
.brand small { display: block; color: var(--muted); font-size: 10px; letter-spacing: .12em; font-weight: 400; margin-top: 2px; }
.brand-mark { width: 40px; height: 44px; background: var(--green); border-radius: 4px 12px 4px 4px; display: grid; place-items: center; color: var(--paper); }
.brand-mark .icon { width: 23px; height: 23px; }
.header-inner nav { display: flex; align-items: center; gap: 27px; font-size: 12px; font-weight: 600; }
.header-inner nav > a { padding: 12px 0; white-space: nowrap; }
.header-inner nav .nav-projection { display: flex; align-items: center; gap: 8px; margin-left: 2px; padding: 9px 12px; border: 1px solid #bac6b7; border-radius: 4px; }
.nav-projection .icon { width: 16px; height: 16px; }
.hero { padding-top: 72px; padding-bottom: 70px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 54px; align-items: center; }
.hero .eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; color: var(--muted); font-size: 11px; letter-spacing: .12em; }
.status-dot { width: 6px; height: 6px; background: var(--orange); border-radius: 50%; }
.hero h1 { font-size: clamp(39px, 4.8vw, 62px); letter-spacing: -.03em; font-weight: 650; line-height: 1.3; margin-bottom: 25px; color: var(--green); }
.hero-description { color: #4e6255; font-size: 16px; line-height: 1.95; margin-bottom: 10px; }
.hero-subtitle { font-size: 12px; color: var(--muted); margin-bottom: 25px; max-width: 440px; }
.speaker-profile { border-left: 2px solid #a5bb90; padding-left: 16px; margin: 0 0 26px; color: #4e6255; font-size: 14px; line-height: 1.75; }
.speaker-profile p { margin: 0; overflow-wrap: anywhere; }
.speaker-profile .speaker-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 3px; }
.speaker-name > span { color: inherit; font-size: inherit; font-weight: inherit; letter-spacing: normal; }
.slide .speaker-profile { margin-top: 22px; margin-bottom: 0; font-size: clamp(14px, 1.05vw, 18px); }
.hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 340px; gap: 8px; }
.hero-actions .button:first-child .icon:last-child { margin-left: auto; width: 16px; }
.hero-actions .button-quiet { min-height: 40px; font-weight: 500; }
.hero-meta { display: flex; align-items: center; gap: 0; margin-top: 29px; color: var(--muted); font-size: 10px; }
.hero-meta span + span { margin-left: 21px; padding-left: 21px; border-left: 1px solid #cbd2c4; }
.hero-meta strong { font-family: var(--sans); font-size: 23px; font-weight: 400; margin-right: 5px; color: var(--green); }
.hero-art { position: relative; background: #e4eadc; border-radius: 7px 7px 70px 7px; padding: 22px 24px 24px; min-height: 448px; overflow: hidden; }
.art-caption { display: flex; justify-content: space-between; color: #6d7f66; font-size: 9px; letter-spacing: .12em; font-weight: 600; }
.art-caption span:last-child { font-size: 21px; line-height: 1; color: var(--orange); }
.art-main { position: relative; min-height: 337px; }
.art-paper { position: absolute; top: 30px; left: 24px; width: 270px; background: #fffef6; padding: 23px 26px 22px; box-shadow: 0 12px 25px #53654613; transform: rotate(-5deg); border: 1px solid #d9dfcd; border-radius: 3px; z-index: 2; }
.paper-top { display: flex; justify-content: space-between; font-size: 9px; letter-spacing: .09em; border-bottom: 1px solid #d6dfcf; padding-bottom: 13px; color: var(--muted); }
.art-paper h2 { font-size: 25px; line-height: 1.7; font-family: var(--sans); letter-spacing: .03em; margin: 20px 0 20px; font-weight: 600; }
.paper-line { width: 90%; border-bottom: 1px solid #dfe2d4; margin-bottom: 12px; }
.paper-line.short { width: 69%; }
.paper-check { display: flex; align-items: center; gap: 8px; font-size: 10px; margin-top: 18px; color: var(--green); }
.paper-check .icon { width: 16px; height: 16px; background: #e7eddf; border-radius: 3px; padding: 2px; }
.art-stamp { position: absolute; right: 7px; top: 153px; border-radius: 50%; width: 109px; height: 109px; z-index: 3; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0; background: var(--green); color: var(--paper); transform: rotate(12deg); box-shadow: 0 0 0 5px #e4eadc; }
.art-stamp span { font-size: 9px; color: #c0d1bb; }
.art-stamp strong { font-family: var(--sans); font-size: 23px; letter-spacing: .08em; }
.art-small-note { position: absolute; bottom: 5px; right: 18px; z-index: 4; padding: 10px 15px; background: #efd8b5; transform: rotate(3deg); box-shadow: 0 5px 10px #5365460a; border-radius: 2px; }
.art-small-note span { font-size: 9px; display: block; color: #816848; }
.art-small-note strong { display: block; font-size: 11px; font-weight: 500; color: #6d593d; }
.art-orbit { border: 1px solid #c5d0bb; border-radius: 50%; width: 330px; height: 330px; position: absolute; top: 14px; left: 20px; }
.orbit-two { width: 390px; height: 390px; top: -16px; left: -10px; border-color: #d6dfca; }
.art-flow { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 10px; margin-top: 13px; z-index: 5; color: #3b5a45; }
.art-flow i { font-style: normal; font-family: var(--sans); background: #f3f4e9; display: inline-grid; place-items: center; border-radius: 50%; width: 21px; height: 21px; margin-right: 4px; }
.art-flow b { color: #8a9d80; font-weight: 400; }
.journey-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.journey-inner { display: flex; align-items: center; gap: 35px; padding-top: 20px; padding-bottom: 20px; }
.journey-inner > .mini-label { white-space: nowrap; }
.journey-inner ol { display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: #506c55; }
.journey-inner li + li { margin: 0; }
.journey-inner li + li:before { content: '↗'; color: #8b9c83; margin-right: 27px; font-size: 11px; }
.journey-inner > a { margin-left: auto; white-space: nowrap; font-size: 11px; display: flex; align-items: center; gap: 8px; }
.journey-inner .icon { width: 16px; height: 16px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.section-heading .eyebrow { margin-bottom: 15px; }
.section-heading h2 { font-family: var(--sans); color: var(--green); font-size: 31px; line-height: 1.6; font-weight: 600; letter-spacing: .01em; margin-bottom: 0; }
.section-heading > p { font-size: 12px; line-height: 1.9; color: var(--muted); max-width: 440px; margin-bottom: 5px; }
.course-section { padding-top: 76px; padding-bottom: 78px; }
.course-layout { display: grid; grid-template-columns: 226px minmax(0, 1fr); gap: 56px; align-items: start; }
.course-sidebar { position: sticky; top: 115px; }
.course-sidebar nav { padding-top: 11px; margin-bottom: 24px; }
.course-sidebar nav a { display: flex; align-items: flex-start; gap: 10px; padding: 10px 10px 10px 0; line-height: 1.6; font-size: 11px; font-weight: 500; color: var(--muted); border-bottom: 1px solid #e0e3d9; }
.course-sidebar nav a.is-current { color: var(--green); font-weight: 650; background: linear-gradient(90deg, transparent 0%, #eaf0e3 100%); }
.course-sidebar nav a:hover { color: var(--orange); }
.course-sidebar nav .nav-index { color: #95a38f; font-size: 10px; font-family: var(--sans); margin-top: 2px; }
.course-sidebar nav small { margin-left: auto; padding-left: 7px; font-size: 10px; font-weight: 400; color: #7a8a73; white-space: nowrap; }
.sidebar-note { display: flex; gap: 10px; background: #eaf0e3; border-radius: 5px; padding: 15px 13px; }
.sidebar-note > .icon { width: 17px; height: 17px; margin-top: 3px; }
.sidebar-note strong { font-size: 11px; }
.sidebar-note p { color: var(--muted); font-size: 10px; line-height: 1.8; margin: 5px 0 8px; }
.sidebar-note .text-link { font-size: 10px; }
.sidebar-updated { margin-top: 20px; font-size: 9px; line-height: 1.9; color: #7e8a78; }
.search-toolbar { display: flex; gap: 15px; align-items: center; }
.search-field { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; border-bottom: 1px solid #b5c3b1; padding: 10px 0; color: #71836b; }
.search-field .icon { width: 18px; height: 18px; }
.search-field input { width: 100%; border: 0; background: transparent; outline: none; color: var(--green); font-size: 12px; border-radius: 0; min-height: 27px; }
.search-field input::placeholder { color: #82907b; }
.search-field:focus-within { border-bottom-color: var(--orange); box-shadow: 0 1px var(--orange); }
.search-field input:focus-visible { outline: none; }
.search-field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.clear-search { background: none; border: 0; font-size: 23px; line-height: 1; padding: 5px; }
.expand-button { border: none; background: none; font-size: 11px; white-space: nowrap; padding: 10px 0 10px 8px; }
.expand-button:hover { color: var(--orange); }
.search-count { margin-top: 11px; margin-bottom: 30px; color: #7e8a77; font-size: 10px; }
.section-group { margin-bottom: 40px; scroll-margin-top: 112px; }
.section-group:last-child { margin-bottom: 0; }
.group-heading { display: flex; align-items: center; gap: 10px; padding-bottom: 13px; border-bottom: 1px solid #95ac94; }
.group-heading .group-index { color: var(--orange); font-family: var(--sans); font-size: 13px; }
.group-heading h3 { margin: 0; font-weight: 650; font-size: 15px; letter-spacing: .02em; }
.group-heading > span:last-child { font-size: 9px; margin-left: auto; color: var(--muted); white-space: nowrap; }
.chapter { border-bottom: 1px solid #dce1d4; scroll-margin-top: 112px; }
.chapter-detail summary { list-style: none; display: flex; align-items: flex-start; gap: 14px; padding: 20px 0; }
summary::-webkit-details-marker { display: none; }
.chapter-number { font-family: var(--sans); font-size: 12px; color: #8a9d80; padding-top: 3px; min-width: 22px; }
.chapter-heading { flex: 1; }
.chapter-title { display: block; font-size: 14px; font-weight: 650; color: var(--green); line-height: 1.7; }
.chapter-lead { display: block; font-size: 11px; color: var(--muted); font-weight: 400; line-height: 1.9; margin-top: 5px; }
.chapter-meta { font-size: 9px; color: #7f8e75; white-space: nowrap; display: flex; align-items: center; gap: 14px; padding-top: 4px; }
.chapter-meta .icon { width: 14px; height: 14px; transition: transform .15s; }
.chapter-detail[open] .chapter-meta .icon { transform: rotate(180deg); }
.chapter-detail summary:hover .chapter-title { color: var(--orange); }
.chapter-body { padding: 0 0 23px 36px; font-size: 13px; line-height: 1.95; color: #405547; }
.chapter-body > p { margin-bottom: 12px; }
.key-points { padding-left: 19px; }
.key-points li::marker { color: #8a9d75; }
.activity { border-left: 3px solid #afc1a2; background: #eaf0e3; border-radius: 0 4px 4px 0; padding: 14px 18px; margin-top: 19px; }
.activity .mini-label { color: var(--green); font-size: 10px; }
.activity p { margin: 5px 0 0; }
.activity pre { margin: 12px 0 0; padding: 12px; background: #f8faf3; border: 1px solid #dfe6d5; border-radius: 4px; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 12px; }
.chapter-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 17px; }
.chapter-links a { font-size: 11px; text-decoration: underline; text-decoration-color: #bbcab2; text-underline-offset: 4px; }
.chapter-links .icon { width: 12px; height: 12px; }
.chapter-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 13px 20px; margin-top: 19px; }
.chapter-actions .text-link { font-size: 11px; }
.chapter-actions .subtle { color: #788a70; font-weight: 400; }
.chapter-actions .permalink { margin-left: auto; font-family: var(--sans); }
.empty-search { border: 1px dashed #b7c4ab; padding: 45px 20px; text-align: center; border-radius: 6px; margin-bottom: 30px; }
.empty-search h3 { font-size: 18px; margin-bottom: 8px; }
.empty-search p { color: var(--muted); font-size: 12px; }
.practice-intro { padding: 65px 0; border-top: 1px solid #dce2d2; border-bottom: 1px solid #dce2d2; background: #edf0e6; }
.practice-intro .section-heading { display: block; }
.practice-intro .section-heading > p { max-width: none; margin-top: 14px; }
.practice-steps { margin: 33px 0 35px; padding: 0 0 30px; border-bottom: 1px solid #cbd6c2; list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.practice-steps li { margin: 0; position: relative; }
.practice-steps li > span { display: inline-grid; place-items: center; font-family: var(--sans); width: 26px; height: 26px; border: 1px solid #bacab1; border-radius: 50%; color: #748b64; margin-right: 8px; font-size: 13px; }
.practice-steps li strong { font-size: 13px; }
.practice-steps li small { display: block; color: #74846c; font-size: 10px; margin-top: 9px; margin-left: 34px; }
.pathways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.pathways article + article { padding-left: 32px; border-left: 1px solid #cbd6c2; }
.pathway-number { font-size: 10px; color: var(--orange); letter-spacing: .1em; }
.pathways h3 { font-size: 17px; margin: 5px 0 10px; }
.pathways p { font-size: 12px; color: #52654c; line-height: 1.9; }
.pathways small { font-size: 10px; color: #7b896f; }
code { font-size: .95em; overflow-wrap: anywhere; }
.practice-footnote { display: flex; align-items: center; gap: 40px; margin-top: 35px; padding-top: 25px; border-top: 1px solid #cbd6c2; }
.practice-footnote p { font-size: 11px; color: #6b7a61; margin: 0; line-height: 1.9; }
.practice-footnote p strong { color: #4c6542; }
.practice-footnote .button { flex: none; }
.feature-source { font-size: 9px; color: #7d8a73; line-height: 1.9; margin-top: 14px; }
.feature-source a { color: #667c58; text-decoration: underline; text-underline-offset: 3px; }
.feature-source .icon { width: 11px; height: 11px; }
.typeless-tip { display: flex; gap: 16px; background: #e2e9d9; padding: 16px 19px; border-radius: 4px; font-size: 10px; color: #64795b; margin-top: 24px; }
.typeless-tip strong { flex: none; color: #3e5b32; }
.downloads-section { padding-top: 76px; padding-bottom: 60px; }
.download-banner { display: flex; align-items: center; gap: 24px; border: 1px solid #d7ddcd; padding: 22px 25px; border-radius: 5px; }
.download-banner > div { display: flex; gap: 17px; align-items: center; margin-right: auto; }
.download-banner > div > .icon { width: 24px; height: 24px; }
.download-banner strong { display: block; font-size: 14px; }
.download-banner small { display: block; font-size: 10px; color: var(--muted); margin-top: 4px; }
.download-banner > .button { font-size: 12px; min-height: 44px; }
.download-banner > .text-link { font-size: 11px; }
.resource-jump { display: flex; flex-wrap: wrap; gap: 8px 22px; border-bottom: 1px solid #a9bba0; padding: 23px 0; }
.resource-jump a { font-size: 11px; }
.resource-jump a span { color: #93a287; font-family: var(--sans); margin-right: 7px; font-size: 10px; }
.resource { padding: 40px 0 38px; border-bottom: 1px solid #cbd5c3; scroll-margin-top: 112px; }
.resource-header { display: flex; gap: 22px; align-items: flex-start; margin-bottom: 22px; }
.resource-number { font-family: var(--sans); font-size: 38px; color: #adba9e; line-height: 1.2; min-width: 48px; }
.resource-eyebrow { font-size: 9px; color: var(--orange); letter-spacing: .05em; }
.resource-eyebrow span { margin-left: 10px; font-size: 8px; letter-spacing: .05em; padding: 2px 6px; border: 1px solid #d5dfca; border-radius: 2px; color: #849477; }
.resource h3 { margin: 5px 0 5px; color: var(--green); font-size: 22px; font-family: var(--sans); font-weight: 600; }
.resource-header p { font-size: 12px; color: var(--muted); margin: 0; }
.resource-layout { display: grid; grid-template-columns: 296px minmax(0, 1fr); gap: 55px; padding-left: 70px; }
.resource-intro > ul { font-size: 11px; color: #6b7b60; line-height: 1.8; margin: 9px 0 17px; padding-left: 16px; }
.resource-intro .mini-label { font-size: 9px; }
.resource-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.resource-actions > .button:first-child { width: 100%; justify-content: flex-start; }
.resource-actions > .button:not(:first-child) { font-size: 10px; padding-left: 10px; padding-right: 10px; flex: 1; min-height: 38px; }
.resource-actions .text-link { font-size: 10px; font-weight: 400; padding-top: 3px; }
.resource-detail { border: 1px solid #d6dfcd; border-radius: 5px; margin-bottom: 11px; overflow: hidden; background: #f9f8f1; }
.resource-detail > summary { padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 10px; list-style: none; font-size: 12px; font-weight: 600; }
.resource-detail > summary small { display: block; font-size: 9px; color: #809174; font-weight: 400; margin-top: 3px; }
.resource-detail > summary > .icon { width: 15px; height: 15px; color: #8b9b7e; }
.resource-detail[open] > summary { background: #ebf0e3; border-bottom: 1px solid #d6dfcd; }
.resource-detail[open] > summary > .icon { transform: rotate(180deg); }
.resource-detail-inner { padding: 17px; }
.resource-detail-inner h4 { font-size: 12px; margin: 23px 0 8px; }
.resource-detail-inner > ul { font-size: 11px; line-height: 1.9; color: #65765b; padding-left: 17px; }
.resource-detail > .text-block { border: 0; border-radius: 0; margin: 0; }
.text-block { border: 1px solid #dae2d3; border-radius: 4px; background: #fffef8; margin-bottom: 16px; overflow: hidden; }
.text-block-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 10px 5px 14px; border-bottom: 1px solid #e1e7da; color: #79906b; background: #f5f7ee; font-size: 9px; }
.text-block-bar .button { font-size: 9px; min-height: 30px; padding: 5px 7px; }
.text-block-bar .icon { width: 12px; height: 12px; }
.copy-content { font-family: var(--sans); font-size: 12px; line-height: 1.95; white-space: pre-wrap; overflow-wrap: anywhere; tab-size: 2; margin: 0; padding: 18px; max-height: 480px; overflow-y: auto; }
.reference-note { font-size: 9px; color: #967747; margin: 17px 0 9px; line-height: 1.8; }
.check-list { list-style: none; padding-left: 0 !important; }
.check-list li { position: relative; padding-left: 20px; }
.check-list li::before { content: '□'; color: #8b9f7c; position: absolute; left: 0; }
.demo-section { padding-bottom: 75px; }
.demo-callout { background: var(--green); color: var(--paper); border-radius: 7px; padding: 45px 46px; display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 45px; overflow: hidden; }
.demo-callout .eyebrow { color: #d4b680; font-size: 10px; margin-bottom: 19px; }
.demo-callout h2 { color: var(--paper); font-family: var(--sans); font-size: 29px; line-height: 1.6; font-weight: 500; margin-bottom: 19px; }
.demo-callout p { color: #bed0b7; font-size: 11px; line-height: 1.9; }
.demo-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.demo-actions .button { font-size: 11px; padding: 11px 14px; min-height: 44px; }
.button-light { background: var(--paper); color: var(--green); border-color: var(--paper); }
.button-light:hover:not(:disabled) { background: #e1e7d7; border-color: #e1e7d7; }
.button-on-green { color: #dce6d1; border-color: #67856e; }
.button-on-green:hover:not(:disabled) { background: #2a5e4c; color: white; border-color: #afc29f; }
.demo-text-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; color: #b3cba7; font-size: 10px; }
.demo-text-link .icon { width: 14px; height: 14px; }
.demo-text-link:hover { color: white; }
.demo-preview { background: #f8f6eb; color: var(--green); border-radius: 6px; padding: 22px; transform: rotate(2deg); box-shadow: 7px 9px 0 #34634e; }
.demo-preview-top { display: flex; align-items: center; justify-content: space-between; font-size: 10px; }
.demo-preview-top span:last-child { color: #849776; font-size: 9px; }
.demo-preview-progress { height: 3px; background: #e0e7d6; border-radius: 5px; margin-top: 15px; }
.demo-preview-progress span { display: block; background: #bf9259; width: 20%; height: 100%; border-radius: 5px; }
.demo-preview h3 { font-size: 17px; font-weight: 500; line-height: 1.75; margin: 20px 0; }
.preview-option { display: flex; align-items: center; gap: 9px; font-size: 11px; border: 1px solid #cdd8bd; padding: 9px 11px; border-radius: 3px; margin-top: 8px; }
.preview-option.is-correct { background: #e7eddb; }
.preview-option i { font-style: normal; color: #8b9c7d; font-family: var(--sans); font-size: 10px; }
.preview-option span { margin-left: auto; color: #728b5a; }
.demo-preview > p { color: #8d9a81; font-size: 9px; margin-top: 15px; margin-bottom: 0; }
.sources-section { padding-top: 0; padding-bottom: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.sources-section h2 { font-family: var(--sans); font-weight: 500; color: #5b7250; font-size: 24px; line-height: 1.6; margin-top: 16px; }
.sources-section p { font-size: 11px; line-height: 1.9; color: #7d8b73; }
.sources-section p.small-muted { font-size: 9px; }
.source-list { align-self: start; border-top: 1px solid #d0dbc4; border-bottom: 1px solid #d0dbc4; margin-top: 30px; }
.source-list summary { display: flex; align-items: center; gap: 10px; list-style: none; padding: 17px 0; font-size: 11px; font-weight: 600; }
.source-list summary span { font-family: var(--sans); font-weight: 400; color: #9aaa8b; margin-left: auto; }
.source-list summary .icon { width: 14px; height: 14px; }
.source-list[open] summary .icon { transform: rotate(180deg); }
.source-list ul { list-style: none; margin: 0 0 18px; padding: 0; }
.source-list li { margin-top: 0; border-top: 1px solid #e0e6d8; padding: 10px 0; }
.source-list li a { font-size: 11px; color: #6a825d; }
.source-list li .icon { width: 12px; height: 12px; }
.site-footer { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #d8dfce; padding-top: 23px; padding-bottom: 26px; font-size: 11px; color: #687e5d; }
.site-footer small { color: #92a085; margin-left: 15px; font-size: 9px; }
.site-footer a { font-size: 10px; color: #6a815d; }
.toast { position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); max-width: min(580px, calc(100% - 32px)); background: var(--deep); border: 1px solid #66866d; border-radius: 7px; padding: 14px 20px; color: var(--paper); font-size: 12px; line-height: 1.8; box-shadow: 0 8px 35px #0d2f3424; z-index: 100; }

/* Presentation uses the same content, with a deliberately quiet stage. */
.presentation-page { min-height: 100dvh; padding-bottom: 101px; }
.presentation-header { display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--line); padding: 22px 4.5vw; }
.presentation-header .brand { font-size: 14px; }
.presentation-header .brand-mark { width: 33px; height: 35px; }
.presentation-header .brand-mark .icon { width: 19px; height: 19px; }
.presentation-header .brand small { font-size: 8px; }
.presentation-label { font-size: 11px; color: #8a9b7b; letter-spacing: .04em; }
.presentation-label span { padding: 0 8px; color: #a9b49c; }
.presentation-header .text-link { font-size: 11px; }
.slides { max-width: 1600px; margin: auto; padding: 36px 6vw 32px; }
.slide { min-height: calc(100dvh - 255px); }
.slide-eyebrow { display: flex; justify-content: space-between; gap: 15px; font-size: 12px; letter-spacing: .12em; color: var(--orange); margin-bottom: 37px; }
.slide-eyebrow .slide-duration { font-size: 11px; color: #90a181; }
.slide-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 7vw; align-items: start; }
.slide-number { font-family: var(--sans); display: block; font-size: 44px; color: #aebb9d; line-height: 1; margin-bottom: 24px; }
.slide h1 { font-family: var(--sans); font-weight: 600; color: var(--green); font-size: clamp(32px, 3.9vw, 60px); line-height: 1.5; letter-spacing: .01em; margin-bottom: 22px; overflow-wrap: anywhere; }
.slide-lead { font-size: clamp(16px, 1.35vw, 22px); color: #75886a; line-height: 1.9; max-width: 700px; }
.slide-content { padding-top: 20px; }
.slide-points { list-style: none; margin: 0; padding: 0; }
.slide-points li { position: relative; font-size: clamp(17px, 1.65vw, 26px); line-height: 1.85; margin: 0; padding: 18px 0 18px 29px; border-bottom: 1px solid #d6dfcc; overflow-wrap: anywhere; }
.slide-points li:first-child { padding-top: 0; }
.slide-points li::before { content: ''; width: 7px; height: 7px; background: #bc8a4e; border-radius: 50%; position: absolute; left: 0; top: 34px; }
.slide-points li:first-child::before { top: 16px; }
.slide-activity { padding: 18px 22px; margin-top: 24px; background: #e9efde; border-left: 3px solid #a5bb90; border-radius: 0 5px 5px 0; }
.slide-activity .mini-label { color: #6d865c; }
.slide-activity p { font-size: clamp(14px, 1.3vw, 20px); color: #507141; line-height: 1.9; margin: 8px 0 0; }
.presentation-controls { position: fixed; bottom: 0; left: 0; right: 0; z-index: 20; background: rgba(247,244,235,.98); backdrop-filter: blur(15px); border-top: 1px solid #d4ddc9; }
.presentation-progress { height: 3px; width: 100%; background: #e4e9da; }
.presentation-progress > span { display: block; height: 100%; background: var(--orange); transition: width .2s ease; }
.presentation-controls-inner { display: flex; align-items: center; justify-content: space-between; padding: 19px 4.5vw; gap: 24px; }
.presentation-hint { font-size: 10px; color: #8a9b7c; }
.presentation-hint span { padding: 0 6px; color: #acb99f; }
.slide-navigation { display: flex; align-items: center; gap: 18px; }
.slide-navigation .button { font-size: 12px; min-height: 41px; padding: 8px 16px; }
.slide-counter { font-size: 13px; color: #708862; font-family: var(--sans); min-width: 54px; text-align: center; }
#slide-select { background: transparent; border: 1px solid #c9d4be; border-radius: 4px; padding: 9px 7px; color: #6b815c; max-width: 180px; font-size: 10px; min-height: 41px; }
.fullscreen-button { display: flex; align-items: center; gap: 8px; padding: 10px; background: none; border: 0; font-size: 11px; color: #7d9270; }
.fullscreen-button .icon { width: 17px; height: 17px; }
.presentation-page .toast { bottom: 105px; }

@media (min-width: 1440px) {
  .slide-layout { gap: 90px; }
  .slides { padding-top: 44px; }
}
@media (max-width: 1100px) {
  .wrap { padding-left: 36px; padding-right: 36px; }
  .header-inner { padding-left: 36px; padding-right: 36px; }
  .hero { gap: 30px; }
  .hero-art { padding-left: 18px; padding-right: 18px; }
  .art-paper { left: 12px; width: 248px; }
  .art-stamp { right: 0; width: 92px; height: 92px; }
  .art-stamp strong { font-size: 20px; }
  .hero h1 { font-size: 49px; }
  .hero-meta span + span { margin-left: 14px; padding-left: 14px; }
  .journey-inner { gap: 20px; }
  .journey-inner ol { gap: 14px; }
  .journey-inner li + li:before { margin-right: 14px; }
  .course-layout { grid-template-columns: 195px minmax(0, 1fr); gap: 35px; }
  .section-heading h2 { font-size: 28px; }
  .section-heading > p { font-size: 11px; }
  .resource-layout { grid-template-columns: 235px minmax(0, 1fr); gap: 35px; }
  .download-banner { gap: 20px; padding: 20px; flex-wrap: wrap; }
  .download-banner > .text-link { display: none; }
  .pathways { gap: 28px; }
  .pathways article + article { padding-left: 24px; }
  .demo-callout { padding: 35px; gap: 30px; }
  .demo-callout h2 { font-size: 26px; }
  .demo-actions .button { font-size: 10px; }
  .presentation-hint { display: none; }
  .presentation-controls-inner { justify-content: center; }
  .fullscreen-button { position: absolute; right: 4vw; }
  .slide-layout { gap: 5vw; }
}
@media (max-width: 850px) {
  .header-inner { height: 78px; padding: 0 28px; }
  .header-inner nav { gap: 19px; font-size: 11px; }
  .header-inner nav > a:nth-child(3) { display: none; }
  .brand { font-size: 15px; gap: 9px; }
  .brand-mark { width: 33px; height: 36px; }
  .brand small { font-size: 8px; }
  .wrap { padding-left: 28px; padding-right: 28px; }
  .hero { padding-top: 50px; padding-bottom: 45px; gap: 25px; grid-template-columns: 1fr 1fr; }
  .hero h1 { font-size: 41px; }
  .hero-description { font-size: 13px; }
  .hero-subtitle { font-size: 10px; }
  .hero .eyebrow { font-size: 9px; margin-bottom: 21px; }
  .hero-actions { max-width: 300px; gap: 6px; }
  .hero-actions .button { font-size: 11px; padding-left: 12px; padding-right: 12px; min-height: 43px; gap: 7px; }
  .hero-actions .button-quiet { min-height: 34px; }
  .hero-actions .icon { width: 15px; height: 15px; }
  .hero-meta { font-size: 8px; margin-top: 22px; }
  .hero-meta strong { font-size: 20px; }
  .hero-meta span + span { margin-left: 9px; padding-left: 9px; }
  .hero-art { min-height: 370px; padding: 18px; border-bottom-right-radius: 50px; }
  .art-main { min-height: 276px; }
  .art-paper { left: 0; top: 25px; width: 221px; padding: 18px 21px; }
  .art-paper h2 { font-size: 22px; margin: 17px 0; }
  .paper-top { font-size: 8px; padding-bottom: 10px; }
  .paper-check { font-size: 9px; margin-top: 12px; }
  .paper-line { margin-bottom: 9px; }
  .art-stamp { top: 146px; right: -2px; width: 80px; height: 80px; }
  .art-stamp strong { font-size: 17px; }
  .art-stamp span { font-size: 7px; }
  .art-small-note { bottom: 0; right: 2px; padding: 8px 10px; }
  .art-small-note strong { font-size: 9px; }
  .art-small-note span { font-size: 8px; }
  .art-caption { font-size: 7px; }
  .art-orbit { width: 270px; height: 270px; left: 0; }
  .orbit-two { width: 330px; height: 330px; left: -30px; }
  .art-flow { font-size: 8px; gap: 4px; }
  .art-flow i { width: 17px; height: 17px; margin-right: 3px; }
  .journey-inner { flex-wrap: wrap; gap: 8px 20px; }
  .journey-inner > .mini-label { font-size: 9px; }
  .journey-inner > a { font-size: 9px; }
  .journey-inner ol { font-size: 10px; }
  .journey-inner li + li:before { font-size: 9px; }
  .section-heading { display: block; margin-bottom: 28px; }
  .section-heading h2 { font-size: 28px; }
  .section-heading > p { margin-top: 14px; max-width: none; }
  .course-section { padding-top: 52px; padding-bottom: 55px; }
  .course-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 25px; }
  .course-sidebar nav a { font-size: 10px; gap: 7px; }
  .course-sidebar nav small { padding-left: 3px; font-size: 9px; }
  .course-sidebar nav .nav-index { font-size: 9px; }
  .group-heading h3 { font-size: 13px; }
  .group-heading > span:last-child { font-size: 8px; }
  .group-heading { gap: 7px; }
  .search-field input { font-size: 10px; }
  .search-toolbar { gap: 7px; }
  .expand-button { font-size: 10px; }
  .chapter-detail summary { gap: 9px; }
  .chapter-meta { gap: 7px; font-size: 8px; }
  .chapter-meta .icon { width: 12px; height: 12px; }
  .chapter-title { font-size: 12px; }
  .chapter-lead { font-size: 10px; }
  .chapter-number { font-size: 11px; min-width: 20px; }
  .chapter-body { padding-left: 29px; font-size: 12px; }
  .practice-intro { padding: 50px 0; }
  .practice-steps { gap: 12px; }
  .practice-steps li strong { font-size: 12px; }
  .practice-steps li small { font-size: 9px; margin-left: 0; }
  .practice-steps li > span { width: 22px; height: 22px; font-size: 11px; margin-right: 5px; }
  .pathways { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pathways article + article { padding: 20px 0 0; border-left: 0; border-top: 1px solid #cbd6c2; }
  .pathways p { font-size: 11px; }
  .pathways h3 { font-size: 15px; }
  .pathways small { font-size: 9px; }
  .typeless-tip { display: block; }
  .typeless-tip strong { display: block; margin-bottom: 4px; }
  .downloads-section { padding-top: 55px; }
  .resource-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 25px; padding-left: 52px; }
  .resource-header { gap: 14px; }
  .resource-number { font-size: 32px; min-width: 38px; }
  .resource-jump { gap: 8px 17px; }
  .resource-jump a { font-size: 10px; }
  .resource h3 { font-size: 20px; }
  .resource-header p { font-size: 11px; }
  .resource-detail > summary { font-size: 11px; padding: 14px; }
  .resource-detail > summary small { font-size: 8px; }
  .resource-actions > .button:not(:first-child) { font-size: 9px; padding: 8px 7px; gap: 5px; }
  .resource-actions > .button:not(:first-child) .icon { width: 12px; }
  .demo-callout { gap: 24px; padding: 30px; grid-template-columns: 1.1fr 1fr; }
  .demo-preview { padding: 19px; }
  .demo-preview h3 { font-size: 14px; }
  .demo-callout h2 { font-size: 23px; }
  .demo-callout p { font-size: 10px; }
  .demo-actions { margin-top: 18px; gap: 8px; }
  .demo-actions .button { padding: 9px 12px; min-height: 38px; font-size: 10px; }
  .sources-section { gap: 45px; }
  .slide-layout { gap: 35px; }
  .slide-number { font-size: 34px; }
  .slide h1 { font-size: 33px; }
  .slide-lead { font-size: 16px; }
  .slide-points li { font-size: 17px; }
  .slide-eyebrow { margin-bottom: 26px; }
  .slide-activity p { font-size: 14px; }
  .slide-navigation { gap: 12px; }
  #slide-select { max-width: 145px; }
  .fullscreen-button span { display: none; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 89px; }
  body { font-size: 15px; }
  .wrap { padding-left: 22px; padding-right: 22px; }
  .header-inner { padding: 0 20px; height: 74px; gap: 14px; }
  .brand { font-size: 14px; }
  .brand small { font-size: 8px; letter-spacing: .08em; }
  .header-inner nav { gap: 14px; font-size: 10px; }
  .header-inner nav > a:first-child, .header-inner nav > a:nth-child(3) { display: none; }
  .header-inner nav .nav-projection { padding: 7px 8px; margin: 0; }
  .nav-projection .icon { display: none; }
  .hero { display: block; padding-top: 37px; padding-bottom: 32px; }
  .hero .eyebrow { font-size: 10px; margin-bottom: 19px; }
  .hero h1 { font-size: clamp(40px, 10.5vw, 56px); line-height: 1.33; margin-bottom: 20px; }
  .hero-description { font-size: 14px; margin-bottom: 9px; }
  .hero-subtitle { font-size: 11px; margin-bottom: 23px; max-width: 370px; }
  .hero-actions { max-width: 360px; gap: 7px; }
  .hero-actions .button { min-height: 47px; font-size: 12px; padding-left: 16px; padding-right: 16px; }
  .hero-actions .button-quiet { min-height: 37px; }
  .hero-actions .icon { width: 17px; height: 17px; }
  .hero-meta { font-size: 9px; margin-top: 23px; }
  .hero-meta strong { font-size: 23px; }
  .hero-meta span + span { margin-left: 17px; padding-left: 17px; }
  .hero-art { margin-top: 32px; min-height: 330px; padding: 18px 22px; max-width: 440px; margin-left: auto; margin-right: auto; }
  .art-main { min-height: 243px; }
  .art-paper { left: 7%; top: 14px; width: 230px; padding: 18px 23px; }
  .art-paper h2 { font-size: 22px; margin: 13px 0; }
  .paper-top { padding-bottom: 8px; }
  .paper-line { margin-bottom: 7px; }
  .paper-check { margin-top: 10px; font-size: 9px; }
  .art-caption { font-size: 8px; }
  .art-stamp { right: 4%; top: 108px; width: 87px; height: 87px; }
  .art-stamp strong { font-size: 19px; }
  .art-small-note { right: 9%; bottom: -1px; }
  .art-flow { margin-top: 17px; font-size: 9px; gap: 5px; max-width: 310px; }
  .art-orbit { width: 270px; height: 270px; top: -9px; left: 13%; }
  .orbit-two { width: 330px; height: 330px; top: -39px; left: 4%; }
  .journey-inner { display: block; padding-top: 19px; padding-bottom: 19px; }
  .journey-inner > .mini-label { font-size: 8px; }
  .journey-inner ol { margin-top: 11px; justify-content: space-between; gap: 8px; font-size: 10px; }
  .journey-inner li + li:before { margin-right: 13px; }
  .journey-inner > a { display: none; }
  .section-heading { margin-bottom: 25px; }
  .section-heading h2 { font-size: 26px; }
  .section-heading .eyebrow { font-size: 10px; margin-bottom: 13px; }
  .section-heading > p { font-size: 11px; }
  .course-section { padding-top: 42px; padding-bottom: 44px; }
  .course-layout { display: block; }
  .course-sidebar { position: static; margin-bottom: 24px; }
  .course-sidebar > .sidebar-inner > .mini-label, .sidebar-note, .sidebar-updated { display: none; }
  .course-sidebar nav { display: flex; overflow-x: auto; gap: 9px; padding: 4px 2px 9px; margin-bottom: 0; scrollbar-width: thin; }
  .course-sidebar nav a { flex: none; border: 1px solid #d4ddc9; border-radius: 3px; padding: 8px 11px; font-size: 10px; background: #edf1e5; align-items: center; }
  .course-sidebar nav .nav-index { font-size: 9px; margin-top: 0; }
  .course-sidebar nav small { display: none; }
  .search-toolbar { gap: 14px; }
  .search-field input { font-size: 11px; }
  .expand-button { font-size: 10px; }
  .search-count { margin-bottom: 24px; }
  .group-heading { gap: 9px; }
  .group-heading h3 { font-size: 13px; }
  .group-heading > span:last-child { font-size: 8px; }
  .section-group { margin-bottom: 30px; scroll-margin-top: 89px; }
  .chapter { scroll-margin-top: 89px; }
  .chapter-detail summary { gap: 10px; padding: 18px 0; }
  .chapter-title { font-size: 13px; line-height: 1.7; }
  .chapter-lead { font-size: 10px; line-height: 1.9; }
  .chapter-number { min-width: 20px; font-size: 11px; }
  .chapter-meta { gap: 6px; font-size: 8px; }
  .chapter-body { font-size: 12px; padding-left: 0; }
  .chapter-actions { gap: 12px; }
  .chapter-actions .text-link { font-size: 10px; }
  .activity { padding: 13px 15px; }
  .activity pre { font-size: 11px; }
  .practice-intro { padding: 42px 0; }
  .practice-intro .section-heading h2 { font-size: 25px; }
  .practice-steps { grid-template-columns: 1fr 1fr; gap: 20px 12px; margin-top: 28px; padding-bottom: 25px; }
  .practice-steps li small { margin-left: 30px; font-size: 10px; margin-top: 6px; }
  .practice-steps li strong { font-size: 13px; }
  .practice-steps li > span { width: 24px; height: 24px; }
  .pathways { display: block; }
  .pathways article { padding: 0 0 21px; margin: 0 0 21px; border-bottom: 1px solid #ced9c3; }
  .pathways article + article { padding: 0 0 21px; border-left: none; border-top: none; }
  .pathways article:last-child { margin-bottom: 0; border-bottom: none; padding-bottom: 0; }
  .pathways h3 { font-size: 17px; margin-top: 4px; }
  .pathways p { font-size: 12px; margin-bottom: 6px; }
  .pathways small { font-size: 10px; }
  .practice-footnote { display: block; margin-top: 25px; padding-top: 22px; }
  .practice-footnote .button { margin-top: 17px; width: 100%; font-size: 12px; }
  .practice-footnote p { font-size: 11px; }
  .feature-source { font-size: 9px; }
  .typeless-tip { padding: 13px 15px; margin-top: 20px; }
  .downloads-section { padding-top: 44px; padding-bottom: 42px; }
  .download-banner { display: block; padding: 18px; }
  .download-banner > div { gap: 13px; }
  .download-banner strong { font-size: 13px; }
  .download-banner small { font-size: 10px; }
  .download-banner > div > .icon { width: 21px; height: 21px; }
  .download-banner > .button { width: 100%; margin-top: 17px; font-size: 12px; }
  .download-banner > .text-link { display: flex; justify-content: center; margin-top: 12px; font-size: 10px; }
  .resource-jump { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; padding: 20px 0; }
  .resource-jump a { font-size: 10px; }
  .resource { padding: 28px 0; scroll-margin-top: 89px; }
  .resource-header { margin-bottom: 18px; gap: 13px; }
  .resource h3 { font-size: 22px; }
  .resource-number { font-size: 31px; min-width: 36px; }
  .resource-header p { font-size: 11px; }
  .resource-layout { display: block; padding-left: 0; }
  .resource-intro > ul { font-size: 11px; }
  .resource-actions { margin-bottom: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .resource-actions > .button:first-child { grid-column: 1 / -1; justify-content: center; font-size: 12px; }
  .resource-actions > .button:not(:first-child) { font-size: 11px; min-height: 41px; }
  .resource-actions > .button:not(:first-child) .icon { width: 15px; }
  .resource-actions > .text-link { grid-column: 1 / -1; padding: 4px 0; font-size: 11px; }
  .resource-detail > summary { font-size: 12px; padding: 15px 17px; }
  .resource-detail > summary small { font-size: 9px; }
  .resource-detail-inner { padding: 13px; }
  .copy-content { padding: 14px; font-size: 12px; max-height: 420px; }
  .text-block-bar { padding-left: 10px; font-size: 9px; gap: 5px; }
  .text-block-bar .button { white-space: nowrap; font-size: 8px; }
  .demo-section { padding-bottom: 44px; }
  .demo-callout { display: block; padding: 28px 23px 31px; }
  .demo-callout h2 { font-size: 27px; line-height: 1.6; }
  .demo-callout p { font-size: 11px; }
  .demo-actions { display: grid; grid-template-columns: 1fr; margin-top: 21px; }
  .demo-actions .button { min-height: 44px; font-size: 12px; }
  .demo-text-link { font-size: 11px; }
  .demo-preview { margin: 29px 5px 0; padding: 21px; }
  .demo-preview h3 { font-size: 17px; }
  .preview-option { font-size: 12px; }
  .demo-preview > p { font-size: 9px; }
  .sources-section { display: block; padding-bottom: 40px; }
  .sources-section h2 { font-size: 25px; }
  .sources-section p { font-size: 11px; }
  .source-list { margin-top: 26px; }
  .site-footer { padding-top: 20px; padding-bottom: 22px; font-size: 10px; }
  .site-footer small { display: block; margin-left: 0; margin-top: 3px; font-size: 8px; }
  .toast { width: calc(100% - 32px); bottom: 16px; font-size: 11px; padding: 12px 16px; }
  .presentation-page { padding-bottom: 102px; }
  .presentation-header { padding: 16px 20px; gap: 10px; }
  .presentation-header .brand { font-size: 12px; gap: 8px; }
  .presentation-header .brand small { font-size: 7px; }
  .presentation-header .brand-mark { width: 29px; height: 32px; }
  .presentation-header .brand-mark .icon { width: 17px; height: 17px; }
  .presentation-label { display: none; }
  .presentation-header .text-link { font-size: 10px; gap: 5px; }
  .presentation-header .text-link .icon { width: 14px; height: 14px; }
  .slides { padding: 25px 24px 25px; }
  .slide { min-height: calc(100dvh - 220px); }
  .slide-eyebrow { font-size: 10px; margin-bottom: 23px; }
  .slide-eyebrow .slide-duration { font-size: 9px; }
  .slide-layout { display: block; }
  .slide-number { font-size: 29px; margin-bottom: 15px; }
  .slide h1 { font-size: 31px; line-height: 1.55; margin-bottom: 15px; }
  .slide-lead { font-size: 15px; margin-bottom: 13px; }
  .slide-content { padding-top: 4px; }
  .slide-points li { font-size: 16px; padding: 13px 0 13px 24px; }
  .slide-points li:first-child { padding-top: 13px; }
  .slide-points li::before, .slide-points li:first-child::before { width: 6px; height: 6px; top: 26px; }
  .slide-activity { padding: 15px 17px; margin-top: 20px; }
  .slide-activity p { font-size: 14px; }
  .presentation-controls-inner { padding: 16px 15px; justify-content: flex-start; gap: 12px; }
  .slide-navigation { width: calc(100% - 34px); gap: 10px; justify-content: space-between; }
  .slide-navigation .button { font-size: 11px; min-height: 40px; padding: 8px 11px; gap: 5px; }
  .slide-navigation .button span { display: none; }
  .slide-counter { display: none; }
  #slide-select { width: 100%; max-width: 230px; min-width: 0; flex: 1; font-size: 10px; min-height: 40px; }
  .fullscreen-button { position: static; padding: 7px 0 7px 3px; }
  .fullscreen-button .icon { width: 18px; height: 18px; }
  .presentation-page .toast { bottom: 90px; }
}
@media (max-width: 370px) {
  .wrap { padding-left: 18px; padding-right: 18px; }
  .header-inner { padding-left: 17px; padding-right: 17px; gap: 8px; }
  .header-inner nav { gap: 9px; }
  .brand { font-size: 12px; }
  .brand-mark { width: 30px; height: 34px; }
  .brand small { font-size: 7px; }
  .hero h1 { font-size: 38px; }
  .hero-meta span + span { margin-left: 11px; padding-left: 11px; }
  .art-paper { left: 0; width: 217px; }
  .art-stamp { right: 0; }
  .art-flow { font-size: 8px; }
  .journey-inner ol { font-size: 9px; }
  .journey-inner li + li:before { margin-right: 10px; }
  .section-heading h2 { font-size: 24px; }
  .group-heading { gap: 7px; }
  .group-heading h3 { font-size: 12px; }
  .chapter-meta { gap: 5px; }
  .chapter-title { font-size: 12px; }
  .chapter-detail summary { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print {
  @page { margin: 16mm; }
  html, body { background: white; color: black; font-size: 11pt; scroll-padding-top: 0; }
  .wrap { max-width: none; padding-left: 0; padding-right: 0; }
  .site-header, .hero, .journey-strip, .course-sidebar, .search-toolbar, .search-count, .chapter-actions, .resource-actions, .resource-jump, .download-banner, .demo-section, .site-footer, .toast, .skip-link, .button, .presentation-header, .presentation-controls, .source-list > summary > .icon { display: none !important; }
  .course-section, .downloads-section, .practice-intro, .sources-section { padding: 0; margin: 0 0 25pt; border: 0; background: white; }
  .section-heading { display: block; margin: 0 0 16pt; }
  .section-heading h2 { color: black; font-size: 20pt; }
  .section-heading > p { font-size: 10pt; }
  .course-layout, .resource-layout, .pathways, .sources-section { display: block; }
  .section-group[hidden], .chapter[hidden] { display: block !important; }
  .empty-search { display: none !important; }
  .chapter { break-inside: avoid; }
  details > :not(summary) { display: block !important; }
  .chapter-detail summary { padding: 12pt 0 7pt; }
  .chapter-title { font-size: 12pt; color: black; }
  .chapter-lead { font-size: 10pt; }
  .chapter-body { padding: 0 0 10pt 0; font-size: 10pt; }
  .chapter-meta .icon { display: none; }
  .group-heading { margin-top: 15pt; border-bottom-color: #777; }
  .group-heading h3 { font-size: 14pt; color: black; }
  .activity { background: #f4f4f4; }
  .resource { break-before: auto; padding: 18pt 0; }
  .resource-layout { padding-left: 0; }
  .resource-detail { border: 0; }
  .resource-detail > summary { padding: 10pt 0; background: none !important; border-bottom: 1px solid #ccc; }
  .resource-detail > summary .icon { display: none; }
  .resource-detail-inner { padding: 0; }
  .text-block, .copy-content { max-height: none; overflow: visible; background: white; font-size: 10pt; }
  .text-block { break-inside: auto; }
  .text-block-bar { padding: 6pt; color: #555; background: none; font-size: 9pt; }
  .copy-content { padding: 8pt; }
  .pathways article + article { border: 0; padding-left: 0; }
  .practice-steps { margin: 15pt 0; }
  .practice-footnote { display: block; }
  .typeless-tip { background: none; border: 1px solid #ddd; }
  .presentation-page { padding-bottom: 0; }
  .slides { padding: 0; max-width: none; }
  .slide, .slide[hidden] { display: block !important; break-after: page; min-height: 0; margin: 0; padding: 0; }
  .slide:last-child { break-after: auto; }
  .slide-layout { display: block; }
  .slide h1 { font-size: 25pt; color: black; }
  .slide-points li { font-size: 14pt; }
  .slide-eyebrow { margin: 0 0 20pt; }
}

/* Teaching screenshots, platform instructions and linked Skill library. */
.course-screenshot { margin: 22px 0; }
.course-screenshot img { display: block; max-width: 100%; height: auto; border: 1px solid var(--line); border-radius: 9px; }
.course-screenshot figcaption { font-size: 12px; line-height: 1.7; color: var(--muted); margin-top: 9px; }
.course-screenshot figcaption a { text-decoration: underline; white-space: nowrap; }
.platform-guides { display: grid; gap: 15px; margin: 22px 0; }
.platform-guide { border: 1px solid var(--line); border-radius: 8px; padding: 17px 20px; background: #fbfaf5; }
.platform-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.platform-heading h3 { font-size: 21px; margin: 0; color: var(--green); }
.platform-guide ol { margin: 12px 0 0; padding-left: 22px; }
.platform-guide li { margin: 7px 0; line-height: 1.7; }
.section-resources { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 22px 0; }
.section-resources > div { border: 1px solid var(--line); border-radius: 7px; padding: 12px 14px; background: #f0f3e9; }
.section-resources a { display: flex; gap: 7px; align-items: center; font-size: 14px; font-weight: 600; color: var(--green); line-height: 1.6; }
.section-resources .skill-download { font-size: 12px; font-weight: 400; margin-top: 7px; }
.section-resources .icon { width: 15px; height: 15px; flex-shrink: 0; }
.resource-category { font-size: 24px; margin: 38px 0 20px; color: var(--green); }
.external-resource > p { font-size: 14px; line-height: 1.8; margin: 12px 0; }
.external-resource .resource-actions { margin: 20px 0; }
.external-attribution a { text-decoration: underline; }
.external-resource .resource-detail { margin-bottom: 16px; }
.slide-links { display: flex; flex-wrap: wrap; gap: 12px 18px; margin-top: 20px; }
.slide-links a { display: inline-flex; align-items: center; gap: 5px; color: var(--green); text-decoration: underline; font-size: 13px; line-height: 1.6; }
.slide-links .icon { width: 14px; height: 14px; flex-shrink: 0; }
.slide-with-image .slide-layout { grid-template-columns: .8fr 1.2fr; gap: 4vw; }
.slide-with-image h1, .slide-with-platforms h1 { font-size: clamp(30px,3vw,46px); }
.slide-with-image .slide-points { margin-top: 20px; }
.slide-with-image .slide-points li { font-size: clamp(15px,1.2vw,20px); padding-top: 10px; padding-bottom: 10px; }
.slide-with-image .slide-points li::before { top: 23px; }
.slide-with-image .course-screenshot { margin: 0; }
.slide-with-image .slide-content { padding-top: 0; }
.slide-with-platforms .slide-layout { grid-template-columns: .8fr 1.2fr; gap: 4vw; }
.slide-with-platforms .platform-guides { margin: 0; }
.slide-with-platforms .platform-guide { padding: 13px 18px; }
.slide-with-platforms .platform-guide li { font-size: 14px; margin: 5px 0; }
.slide-with-platforms .slide-content { padding-top: 0; }
.slide-with-platforms .button { min-height: 38px; }
@media (max-width: 700px) {
  .section-resources { grid-template-columns: 1fr; }
  .platform-guide { padding: 14px; }
  .platform-heading h3 { font-size: 19px; }
  .slide-with-image .slide-layout, .slide-with-platforms .slide-layout { display: block; }
  .slide-with-image .slide-content, .slide-with-platforms .slide-content { margin-top: 24px; }
  .slide-links a { font-size: 12px; }
  .resource-category { font-size: 20px; }
}
@media print {
  .course-screenshot img { max-height: 90mm; width: auto; }
  .section-resources { break-inside: avoid; }
}
@media (min-width: 701px) {
  .slide .course-screenshot img { max-height: calc(100dvh - 360px); width: auto; }
  .slide .section-resources { gap: 8px; margin: 16px 0; }
  .slide .section-resources > div { padding: 8px 12px; }
  .slide .section-resources .skill-download { margin-top: 4px; }
}

/* Skill setup mirrors the three fields in Gemini's manual creation form. */
.skill-fields { min-width: 0; margin: 0 0 22px; }
.skill-fields-heading h4 { margin: 0 0 6px; font-size: 16px; color: var(--green); }
.skill-fields-heading p, .skill-fields-help { font-size: 12px; color: var(--muted); line-height: 1.8; margin: 0 0 16px; }
.skill-field .text-block-bar { padding: 8px 12px; font-size: 13px; color: var(--green); }
.skill-field .text-block-bar > span { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.skill-field .text-block-bar b { font: 15px var(--sans); color: #7a8d70; }
.skill-field .text-block-bar small { font-size: 10px; color: var(--muted); }
.skill-field .text-block-bar .button { min-height: 40px; font-size: 12px; flex-shrink: 0; }
.skill-field .copy-content { font-size: 14px; padding: 15px 18px; }
.skill-field-name .copy-content { font-family: var(--sans); }
.skill-field-instructions .copy-content { max-height: 320px; }
.external-resource > .resource-actions { margin-bottom: 18px; }
@media (max-width: 700px) {
  .skill-field .text-block-bar { gap: 6px; padding: 7px 10px; }
  .skill-field .text-block-bar > span { column-gap: 5px; }
  .skill-field .text-block-bar small { width: 100%; padding-left: 14px; }
  .skill-field .copy-content { padding: 13px; }
}
@media print { .skill-field-instructions .copy-content { max-height: none; } }

/* Course navigation and reading content share a larger classroom type scale. */
@media screen {
  .course-section { --course-body: 22px; --course-control: 20px; --course-small: 18px; --course-title: 28px; }
  .course-section .section-heading h2 { font-size: 40px; }
  .course-section .section-heading .eyebrow { font-size: var(--course-small); }
  .course-section .section-heading > p { font-size: var(--course-control); max-width: 540px; }
  .course-section .course-layout { grid-template-columns: 296px minmax(0, 1fr); gap: 40px; }
  .course-section .course-sidebar { max-height: calc(100dvh - 135px); overflow-y: auto; padding: 0 8px 6px 0; scrollbar-width: thin; }
  .course-section .sidebar-inner > .mini-label { font-size: 22px; color: var(--green); }
  .course-section .course-sidebar nav a { font-size: var(--course-control); gap: 10px; padding: 13px 8px 13px 0; color: #435b4d; }
  .course-section .course-sidebar nav a > span:nth-child(2) { min-width: 0; }
  .course-section .course-sidebar nav .nav-index,
  .course-section .course-sidebar nav small { font-size: var(--course-small); color: #65785c; }
  .course-section .sidebar-note strong,
  .course-section .sidebar-note p,
  .course-section .sidebar-note .text-link,
  .course-section .sidebar-updated { font-size: var(--course-small); }
  .course-section .sidebar-note { padding: 18px 14px; }
  .course-section .sidebar-note > .icon { width: 22px; height: 22px; margin-top: 5px; }
  .course-section .search-toolbar { gap: 20px; }
  .course-section .search-field input { font-size: var(--course-control); min-height: 40px; }
  .course-section .search-field .icon { width: 24px; height: 24px; }
  .course-section .expand-button { font-size: var(--course-control); min-height: 48px; }
  .course-section .search-count { font-size: var(--course-small); margin-bottom: 36px; }
  .course-section .group-heading { flex-wrap: wrap; gap: 10px 14px; padding-bottom: 18px; }
  .course-section .group-heading h3 { font-size: 30px; }
  .course-section .group-heading .group-index { font-size: 22px; }
  .course-section .group-heading > span:last-child { font-size: var(--course-small); }
  .course-section .section-group { margin-bottom: 56px; }
  .course-section .chapter-detail summary { gap: 16px; padding: 26px 0; }
  .course-section .chapter-number { font-size: var(--course-control); min-width: 30px; padding-top: 7px; }
  .course-section .chapter-heading { min-width: 0; overflow-wrap: anywhere; }
  .course-section .chapter-title { font-size: var(--course-title); line-height: 1.5; }
  .course-section .chapter-lead { font-size: var(--course-body); line-height: 1.75; margin-top: 10px; }
  .course-section .chapter-meta { font-size: var(--course-small); gap: 10px; padding-top: 7px; }
  .course-section .chapter-meta .icon { width: 22px; height: 22px; }
  .course-section .chapter-body { font-size: var(--course-body); line-height: 1.8; padding: 0 0 30px 46px; }
  .course-section .chapter-body > p { margin-bottom: 20px; }
  .course-section .key-points { padding-left: 1.4em; }
  .course-section .activity { padding: 20px 24px; margin-top: 26px; }
  .course-section .activity .mini-label { font-size: var(--course-control); }
  .course-section .activity pre { font-size: var(--course-body); line-height: 1.8; padding: 18px; }
  .course-section .chapter-links a,
  .course-section .chapter-actions .text-link,
  .course-section .platform-heading .button,
  .course-section .section-resources a { font-size: var(--course-control); }
  .course-section .chapter-links .icon,
  .course-section .section-resources .icon { width: 20px; height: 20px; }
  .course-section .chapter-actions { margin-top: 26px; }
  .course-section .course-screenshot figcaption,
  .course-section .section-resources .skill-download { font-size: var(--course-small); }
  .course-section .platform-heading h3 { font-size: var(--course-title); }
  .course-section .platform-heading .button { min-height: 50px; }
  .course-section .platform-guide ol { padding-left: 1.4em; }
  .course-section .section-resources > div { padding: 18px; }
  .course-section .empty-search h3 { font-size: var(--course-title); }
  .course-section .empty-search p,
  .course-section .empty-search .button { font-size: var(--course-control); }
}
@media screen and (max-width: 1050px) {
  .course-section .course-layout { display: block; }
  .course-section .course-sidebar { position: static; max-height: none; overflow: visible; padding: 0; margin-bottom: 32px; }
  .course-section .course-sidebar nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; overflow: visible; padding: 12px 0 0; margin: 0; }
  .course-section .course-sidebar nav a { align-items: flex-start; padding: 12px; border: 1px solid #c6d1ba; border-radius: 6px; background: #edf1e5; }
  .course-section .course-sidebar nav small { display: none; }
  .course-section .sidebar-note, .course-section .sidebar-updated { display: none; }
}
@media screen and (max-width: 640px) {
  .course-section { --course-body: 20px; --course-control: 18px; --course-small: 16px; --course-title: 24px; }
  .course-section .section-heading h2 { font-size: 32px; }
  .course-section .sidebar-inner > .mini-label { display: block; font-size: 22px; }
  .course-section .course-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .course-section .course-sidebar nav a { gap: 8px; padding: 12px 10px; }
  .course-section .search-toolbar { flex-wrap: wrap; gap: 4px 16px; }
  .course-section .search-field { flex-basis: 100%; }
  .course-section .expand-button { padding-left: 0; }
  .course-section .search-count { margin-top: 4px; margin-bottom: 28px; }
  .course-section .group-heading h3 { font-size: 26px; }
  .course-section .group-heading > span:last-child { flex-basis: 100%; margin-left: 0; }
  .course-section .chapter-detail summary { position: relative; gap: 10px; padding: 22px 0; }
  .course-section .chapter-number { min-width: 26px; padding-top: 5px; }
  .course-section .chapter-meta { position: absolute; right: 0; top: 24px; padding-top: 0; }
  .course-section .chapter-title { padding-right: 86px; }
  .course-section .chapter-lead { margin-top: 12px; }
  .course-section .chapter-body { padding-left: 0; }
  .course-section .activity { padding: 16px; }
  .course-section .activity pre { padding: 12px; }
  .course-section .section-resources { grid-template-columns: minmax(0, 1fr); }
}
/* Large, quiet resource pages for live training and classroom projection. */
.downloads-section { --resource-body: 22px; --resource-control: 20px; --resource-label: 24px; color: #253e34; }
.downloads-section .section-heading { margin-bottom: 24px; }
.downloads-section .section-heading h2 { font-size: clamp(34px, 3.1vw, 44px); line-height: 1.3; }
.downloads-section .section-heading p { font-size: var(--resource-body); line-height: 1.65; margin: 18px 0 0; max-width: none; color: #435b4d; }
.downloads-section .download-banner { border: 0; padding: 0; gap: 28px; margin-bottom: 28px; justify-content: flex-start; }
.downloads-section .download-banner > .button, .downloads-section .download-banner > .text-link { font-size: var(--resource-control); }
.downloads-section .resource-jump { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0 0 30px; }
.downloads-section .resource-jump a { display: flex; gap: 14px; align-items: center; min-height: 60px; border: 1px solid #bccab2; border-radius: 8px; background: #f0f3e9; padding: 14px 20px; font-size: var(--resource-control); color: var(--green); }
.downloads-section .resource-jump a:hover { background: #e2ead9; border-color: var(--green); }
.downloads-section .resource-jump a span { font-size: 18px; color: #586d4d; margin: 0; }
.downloads-section .resource-category { display: flex; flex-wrap: wrap; gap: 12px 22px; align-items: baseline; margin: 42px 0 0; font-size: 28px; }
.downloads-section .resource-category span { font-size: 18px; font-weight: 400; color: #52664a; }
.downloads-section .resource { padding: 38px 0 44px; }
.downloads-section .resource-header { gap: 20px; margin-bottom: 24px; }
.downloads-section .resource-number { font-size: 42px; color: #657b56; min-width: 52px; }
.downloads-section .resource h3 { font-size: clamp(30px, 3vw, 40px); line-height: 1.35; margin: 0 0 10px; }
.downloads-section .resource-header p { font-size: var(--resource-body); line-height: 1.65; color: #435b4d; }
.downloads-section .resource-layout { display: block; padding: 0; }
.downloads-section .resource-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 22px; }
.downloads-section .resource-actions > .button { width: auto; flex: none; justify-content: center; font-size: var(--resource-control); padding: 12px 22px; min-height: 54px; }
.downloads-section .resource-detail { border-color: #bdcbb3; border-radius: 8px; margin-bottom: 20px; }
.downloads-section .resource-detail > summary { padding: 17px 22px; font-size: var(--resource-control); color: var(--green); }
.downloads-section .resource-detail > summary > .icon { width: 22px; height: 22px; color: var(--green); }
.downloads-section .resource-detail-inner { padding: 24px; }
.downloads-section .resource-detail-inner > ul, .downloads-section .resource-detail-inner > p { font-size: var(--resource-body); line-height: 1.75; color: #354d3c; }
.downloads-section .resource-detail-inner > ul { margin: 0 0 20px; padding-left: 25px; }
.downloads-section .resource-detail-inner h4 { font-size: var(--resource-label); margin: 28px 0 16px; }
.downloads-section .practice-download { font-size: var(--resource-control); margin-bottom: 24px; }
.downloads-section .skill-fields { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 20px; margin: 24px 0 20px; }
.downloads-section .text-block { border: 1px solid #bdcbb3; border-radius: 8px; margin: 0 0 20px; }
.downloads-section .skill-field { min-width: 0; margin: 0; }
.downloads-section .skill-field-instructions { grid-column: 1 / -1; }
.downloads-section .text-block-bar { padding: 12px 20px; font-size: var(--resource-label); color: var(--green); background: #edf1e5; }
.downloads-section .text-block-bar > span { gap: 9px; }
.downloads-section .text-block-bar b, .downloads-section .text-block-bar small { font-size: 18px; color: #53674a; }
.downloads-section .text-block-bar .button { min-height: 48px; font-size: var(--resource-control); padding: 8px 12px; }
.downloads-section .text-block-bar .icon { width: 20px; height: 20px; }
.downloads-section .copy-content { font-size: var(--resource-body); line-height: 1.75; padding: 20px 24px; color: #253e34; max-height: 480px; }
.downloads-section .skill-field-instructions .copy-content { max-height: 360px; }
.downloads-section .skill-field-name .copy-content { font-family: var(--sans); }
.downloads-section .reference-note { font-size: 18px; color: #715d35; margin: 24px 0 12px; }
.downloads-section .check-list li { padding-left: 28px; }
.downloads-section .practice-panel { margin-top: 32px; padding: 28px; border: 1px solid #bdcbb3; border-radius: 10px; background: #edf1e5; scroll-margin-top: 112px; }
.downloads-section .practice-panel > h4 { font-size: 28px; color: var(--green); margin: 0 0 14px; }
.downloads-section .practice-panel > p { font-size: var(--resource-body); line-height: 1.75; color: #354d3c; margin: 0 0 16px; }
.downloads-section .practice-panel .practice-explanation,
.downloads-section .practice-panel .practice-note { font-size: var(--resource-control); }
.downloads-section .practice-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.downloads-section .practice-actions .button { font-size: var(--resource-control); min-height: 54px; padding: 12px 20px; }
.downloads-section .practice-extra-files { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: 20px 0; }
.downloads-section .practice-extra-files a { font-size: var(--resource-control); }
.downloads-section .practice-extra-files .practice-download { margin: 0; }
.downloads-section .practice-panel .resource-detail:last-child { margin-bottom: 0; }
.downloads-section .practice-panel .reference-note { margin-top: 0; }
.downloads-section .test-preview > .text-block { margin: 0; border: 0; }
.downloads-section .test-preview { margin: 22px 0; border: 1px solid #bdcbb3; border-radius: 8px; overflow: hidden; }
.downloads-section .test-preview .copy-content { max-height: none; background: #fffdf7; }
.downloads-section .practice-panel .practice-handles { font-size: var(--resource-control); color: #435b4d; }
.demo-section .demo-callout { display: block; padding: 36px 40px; }
.demo-section .demo-callout h2 { font-size: 36px; line-height: 1.4; margin-bottom: 14px; }
.demo-section .demo-callout p { font-size: 22px; line-height: 1.7; color: #e1e9da; }
.demo-section .demo-actions { gap: 16px; }
.demo-section .demo-actions .button { font-size: 20px; min-height: 56px; padding: 12px 20px; }
.sources-section { display: block; }
.sources-section .source-list { margin-top: 0; }
.sources-section .source-list summary { font-size: 22px; color: var(--green); gap: 14px; }
.sources-section .source-list p, .sources-section .source-list a { font-size: 20px; line-height: 1.7; color: #435b4d; }
.site-footer, .site-footer a { font-size: 18px; }
@media (max-width: 1050px) {
  .downloads-section { --resource-body: 20px; --resource-control: 18px; --resource-label: 22px; }
  .downloads-section .skill-fields { grid-template-columns: minmax(0, 1fr); }
  .downloads-section .resource-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .downloads-section { --resource-body: 18px; --resource-control: 17px; --resource-label: 20px; }
  .downloads-section .section-heading h2 { font-size: 32px; }
  .downloads-section .download-banner { align-items: flex-start; flex-direction: column; gap: 16px; }
  .downloads-section .download-banner > .button { width: 100%; }
  .downloads-section .resource-jump { gap: 10px; }
  .downloads-section .resource-jump a { padding: 12px; gap: 8px; font-size: 17px; min-height: 60px; }
  .downloads-section .resource-jump a span { font-size: 15px; }
  .downloads-section .resource-category { font-size: 24px; gap: 6px 14px; }
  .downloads-section .resource-category span { font-size: 16px; }
  .downloads-section .resource-header { gap: 12px; }
  .downloads-section .resource-number { min-width: 32px; font-size: 30px; }
  .downloads-section .resource h3 { font-size: 28px; }
  .downloads-section .resource-actions { gap: 8px; }
  .downloads-section .resource-actions > .button { padding: 10px 13px; min-height: 48px; }
  .downloads-section .resource-detail > summary, .downloads-section .resource-detail-inner { padding: 16px; }
  .downloads-section .text-block-bar { padding: 10px 12px; gap: 8px; }
  .downloads-section .text-block-bar b, .downloads-section .text-block-bar small { font-size: 15px; }
  .downloads-section .text-block-bar .button { font-size: 16px; padding: 8px; }
  .downloads-section .copy-content { padding: 16px; }
  .downloads-section .reference-note { font-size: 16px; }
  .downloads-section .practice-panel { padding: 16px; scroll-margin-top: 89px; }
  .downloads-section .practice-panel > h4 { font-size: 24px; }
  .downloads-section .practice-actions { gap: 10px; }
  .downloads-section .practice-actions .button { width: 100%; min-height: 50px; }
  .demo-section .demo-callout { padding: 28px 22px; }
  .demo-section .demo-callout h2 { font-size: 28px; }
  .demo-section .demo-callout p { font-size: 18px; }
  .demo-section .demo-actions .button { font-size: 18px; min-height: 50px; }
  .sources-section .source-list summary { font-size: 20px; }
  .sources-section .source-list p, .sources-section .source-list a { font-size: 18px; }
  .site-footer, .site-footer a { font-size: 16px; }
}
@media print {
  .downloads-section .skill-fields { display: block; }
  .downloads-section .skill-field { margin-bottom: 15pt; }
  .downloads-section .copy-content, .downloads-section .skill-field-instructions .copy-content { max-height: none; }
}

/* Original transparent QR artwork sits on white for reliable scanning. */
.share-card { display: flex; flex-direction: column; align-items: center; gap: 18px; background: #edf1e5; border: 1px solid #c6d1ba; border-radius: 14px; padding: 28px; text-align: center; color: var(--green); min-width: 0; }
.share-qr { display: block; width: 300px; max-width: 100%; padding: 18px; border-radius: 8px; background: #fff; }
.share-qr img { display: block; width: 100%; height: auto; }
.share-url { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 26px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.share-url:hover { text-decoration: underline; text-underline-offset: 5px; }
.share-url .icon { flex-shrink: 0; }
.slide .share-card { gap: 12px; padding: 22px; }
.slide .share-qr { width: min(300px, 38vh); padding: 14px; }
.slide[data-slide="01"] .slide-content { padding-top: 0; }
.slide .share-url { font-size: 28px; }
@media (max-width: 700px) {
  .share-card { padding: 22px; gap: 16px; }
  .share-url, .slide .share-url { font-size: 21px; }
  .slide .share-card { margin-top: 24px; }
  .slide .share-qr { width: 260px; }
}
