@import url('/assets/fonts/paperlogy.css');
:root{--ink:#182e4c;--muted:#52647a;--blue:#2659d9;--line:#d8e0ed;--pale:#edf3ff;--orange:#ad421b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#f7f9fc;color:var(--ink);font:17px/1.4 'Paperlogy',system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:4px}.shell{max-width:1220px;padding:0 36px;margin:auto}header{background:#fff;border-bottom:1px solid var(--line)}.head{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand>span{display:grid;place-items:center;background:var(--ink);color:#fff;width:42px;height:42px;border-radius:11px;font-size:26px;font-weight:700}.brand b{font-size:19px;line-height:1.15}.brand small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}.head nav{display:flex;gap:28px;font-size:14px}.head nav a{text-decoration:none}.head nav a:hover{color:var(--blue)}.skip{position:fixed;top:-100px;left:15px;padding:10px;background:white;z-index:5}.skip:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lab{padding-top:42px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--blue);font-weight:700}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:50px;margin-bottom:30px}.intro>.eyebrow{grid-column:1/-1;margin:0 0 9px}.intro h1{font-size:clamp(34px,4.3vw,49px);line-height:1.15;letter-spacing:-.045em;margin:0}.intro>p:last-child{color:var(--muted);margin:0 0 4px;font-size:16px}.workspace{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:white;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px #142c5108}form{padding:30px}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-label>span{font-size:12px;font-weight:700;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:29px;height:29px}.section-label h2{font-size:19px;margin:0;letter-spacing:-.025em}.section-label.second{margin-top:25px;margin-bottom:15px}label{display:block;font-size:14px;font-weight:550;margin-bottom:7px}.required{font-size:12px;color:var(--muted);font-weight:400;margin-left:5px}input,textarea,button{font:inherit}input[type=text],input:not([type]),textarea{width:100%;border:1px solid #becadd;border-radius:8px;background:#fff;color:var(--ink);padding:12px 13px;font-size:15px;line-height:1.325}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #718fea;outline-offset:1px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}fieldset{padding:0;margin:0;border:0}.options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.option{border:1px solid var(--line);border-radius:8px;padding:11px 12px;display:flex;gap:10px;align-items:center;cursor:pointer;margin:0;background:#fff}.option:has(input:checked){background:var(--pale);border-color:#96afe9}.option input{accent-color:var(--blue);width:17px;height:17px;flex-shrink:0}.option strong{font-size:14px;font-weight:600;display:block;line-height:1.225}.option small{font-size:12px;display:block;line-height:1.25;color:var(--muted);margin-top:3px}.field-note{font-size:12px;color:var(--muted);line-height:1.35;margin:11px 0 20px}button{cursor:pointer;border:1px solid #b8c6dd;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--ink);background:white}button:hover{background:#e6edfa}.primary{width:100%;padding:13px 18px;background:var(--blue);color:white;border-color:var(--blue);display:flex;justify-content:space-between;font-size:16px}.primary:hover{background:#1945b4}.result{background:#142c51;color:white;padding:30px;display:flex;flex-direction:column}.result-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.result-head .eyebrow{color:#a9c2ff}.result-head h2{font-size:23px;letter-spacing:-.025em;margin:5px 0 0}.count{border:1px solid #536c91;white-space:nowrap;border-radius:30px;padding:4px 11px;font-size:12px;color:#c8d8f4}.result textarea{background:#1c375d;border-color:#526787;color:#f2f6ff;border-radius:8px;flex:1;min-height:350px;font-size:15px;line-height:1.425;padding:18px}.result-footer{display:flex;align-items:center;gap:16px;margin-top:17px}.result-footer button{background:#fff;border:0;color:var(--ink)}#copy-status{font-size:12px;color:#d6e4ff;line-height:1.35}.result-note{font-size:12px;line-height:1.4;color:#bdcce3;margin:18px 0 0}.content-section{padding-top:85px}.section-title{margin-bottom:28px}.section-title h2{font-size:31px;letter-spacing:-.04em;line-height:1.2;margin:8px 0 13px}.section-title p{font-size:16px;color:var(--muted);margin:0}.principle-note{border-top:2px solid var(--blue);background:var(--pale);padding:22px 27px;margin-bottom:22px}.principle-note strong{font-size:14px;color:var(--blue)}.principle-note p{font-size:21px;font-weight:550;line-height:1.35;letter-spacing:-.025em;margin:8px 0}.principle-note small{font-size:14px;color:var(--muted)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.method{border:1px solid var(--line);border-radius:10px;background:white}.method summary{display:flex;align-items:center;gap:0;padding:22px;cursor:pointer;list-style:none}.method summary small{display:block;font-size:13px;color:var(--muted);margin-top:3px}.method summary b{font-size:18px;letter-spacing:-.025em}.plus{margin-left:auto;font-size:23px;color:var(--blue);padding-left:14px}.method[open] .plus,.lesson[open] .plus{transform:rotate(45deg)}summary::-webkit-details-marker{display:none}.method-body{padding:0 22px 24px;font-size:16px}.method-body p{margin:0 0 16px}.method-body b{color:var(--blue);font-size:14px;display:block;margin-bottom:3px}blockquote{margin:20px 0;padding:16px 20px;background:var(--pale);border-left:2px solid #7999e8;font-size:16px}.source-link{font-size:13px;color:var(--blue)}.lesson{border-bottom:1px solid var(--line);background:white}.lesson summary{list-style:none;display:flex;align-items:center;gap:18px;cursor:pointer;padding:23px 26px}.lesson summary>span:first-child{font-size:13px;color:var(--blue)}.lesson summary b{font-size:18px;font-weight:550}.lesson-body{padding:0 36px 35px;max-width:900px}.lesson-body h3{font-size:18px;margin:25px 0 10px}.lesson-body p{margin:0 0 19px;font-size:17px}.scene{color:var(--muted);border-left:2px solid #ccd5e5;padding-left:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#edf1f7;border:1px solid var(--line);border-radius:8px;padding:22px;font-family:inherit;font-size:16px;line-height:1.45}.copy-lesson{margin-top:0}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.evidence-grid h3{font-size:19px;letter-spacing:-.025em}.evidence-grid p{font-size:16px;color:var(--muted)}.evidence-grid a{font-size:14px;color:var(--blue)}.small{font-size:13px;color:var(--muted);margin-top:28px}.book-outline{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.book-part+ .book-part{border-top:1px solid var(--line)}.book-part summary{padding:21px 26px;display:flex;gap:18px;align-items:center;cursor:pointer;list-style:none}.book-part summary>span{font-size:13px;color:var(--blue)}.book-part summary b{font-size:18px;font-weight:550}.book-part summary small{margin-left:auto;font-size:13px;white-space:nowrap;color:var(--muted)}.book-part ol{margin:0;padding:0 40px 24px 70px}.book-part li{font-size:16px;padding:6px}.book-part li small{color:var(--muted);font-size:13px;margin-left:15px}footer{margin-top:80px;padding:32px 0;background:var(--ink);color:white}footer .shell{display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{color:#bdcce3;font-size:14px;margin:8px 0}footer a{font-size:14px;white-space:nowrap}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #678ee7;outline-offset:5px}@media(max-width:950px){.shell{padding:0 24px}.head nav{gap:18px}.workspace{grid-template-columns:1fr 1fr}form,.result{padding:22px}.two-fields{grid-template-columns:1fr}.options{grid-template-columns:1fr}.intro{gap:24px}.evidence-grid{gap:20px}}@media(max-width:700px){.shell{padding:0 20px}.head{flex-direction:column;align-items:flex-start;gap:15px;padding-top:18px;padding-bottom:14px}.head nav{gap:25px;width:100%;overflow:auto;white-space:nowrap;font-size:14px}.intro{display:block}.intro h1{font-size:35px;margin:12px 0 20px}.intro>p:last-child{font-size:15px}.lab{padding-top:30px}.workspace{grid-template-columns:1fr}.options{grid-template-columns:1fr 1fr}.two-fields{grid-template-columns:1fr}.result textarea{min-height:400px}.result-head h2{font-size:22px}.content-section{padding-top:55px}.section-title h2{font-size:27px}.section-title p{font-size:16px}.principle-note{padding:20px}.principle-note p{font-size:18px}.method-grid,.evidence-grid{grid-template-columns:1fr}.method summary{padding:19px}.lesson summary{padding:20px;gap:12px}.lesson summary b{font-size:17px}.lesson-body{padding:0 20px 28px}.book-part summary{padding:18px;gap:12px}.book-part summary b{font-size:16px}.book-part ol{padding-left:46px;padding-right:20px}.book-part li small{display:block;margin-left:0}footer .shell{display:block}footer a{display:inline-block;margin-top:15px}.option{padding:10px 8px;gap:7px}.option strong{font-size:14px}.option small{font-size:12px}pre{padding:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,form,.result-footer,.copy-lesson,footer,.skip{display:none}.workspace{display:block}.result{background:white;color:black}.result textarea{background:white;color:black}.method-grid,.evidence-grid{display:block}.content-section{padding-top:30px}details{break-inside:avoid}}

/* Persistent course navigation and a fluid reading surface. */
:root{--header-height:80px;--reading-offset:108px}
html{scroll-padding-top:var(--reading-offset)}
.shell{max-width:1800px;padding-inline:clamp(20px,2.8vw,52px)}
.site-header{position:sticky;top:0;z-index:30;background:#fffffffa}
.head{min-height:80px}
.brand small{font-size:14px}.header-label{font-size:14px;color:var(--muted)}
.course-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,3.4vw,64px);align-items:start}
.sidebar{position:sticky;top:calc(var(--header-height) + 24px);max-height:calc(100dvh - var(--header-height) - 44px);overflow:auto;padding:8px 0 20px;scrollbar-width:thin}
.sidebar-heading{padding:10px 16px 20px}.sidebar-heading .eyebrow{margin:0 0 10px}.sidebar-heading h2{font-size:24px;letter-spacing:-.04em;line-height:1.25;margin:0}
#course-nav{display:grid;gap:7px}#course-nav a{display:flex;align-items:flex-start;gap:13px;padding:15px 14px;border:1px solid transparent;border-radius:9px;text-decoration:none;transition:background .15s}
#course-nav a:hover{background:#e9eef8}#course-nav a[aria-current="location"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.nav-number{font-size:14px;line-height:1.4;opacity:.75}#course-nav b{font-size:16px;display:block;font-weight:600}#course-nav small{font-size:14px;line-height:1.275;display:block;color:var(--muted);margin-top:3px}#course-nav a[aria-current] small{color:#ccdaed}
.location-card{border-top:1px solid var(--line);margin:28px 14px 0;padding-top:20px}.location-card>span{font-size:14px;color:var(--muted)}.location-card strong{display:block;font-size:15px;margin-top:5px}.location-card p{font-size:14px;line-height:1.35;color:var(--muted);margin:12px 0 0}
.toc-toggle{display:none}#course-content{min-width:0;padding-bottom:16px}.lab{padding-top:34px}.intro{gap:18px 30px}.intro h1{font-size:clamp(30px,3vw,44px)}
.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workspace>*{min-width:0}.two-fields{grid-template-columns:1fr}.result textarea{font-size:16px}.field-note,.result-note{font-size:14px}.option small{font-size:13px}
.content-section{padding-top:36px}.lesson-body{max-width:none;padding-inline:30px}.lesson-body pre{max-width:none}.method-grid{align-items:stretch}.method-body{line-height:1.425}.evidence-grid{gap:24px}
.section-pager{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;border-top:1px solid var(--line);margin:32px 0 18px;padding-top:22px}
.section-pager a{text-decoration:none;border:1px solid var(--line);border-radius:9px;padding:13px 18px;background:#fff;min-width:0;line-height:1.25}.section-pager a:hover{border-color:var(--blue);background:var(--pale)}.section-pager small{display:block;font-size:14px;color:var(--muted);margin-bottom:5px}.section-pager b{font-size:16px;font-weight:600}.section-pager .next{text-align:right}.section-position,.first-section{font-size:14px;color:var(--muted)}
footer{margin-top:40px}#course-content>[data-course-section]:focus{outline:none}
@media (min-width:1600px){.two-fields{grid-template-columns:1fr 1fr}.workspace form,.result{padding:32px}.intro{grid-template-columns:1.1fr 1fr}.lesson-body{padding-inline:36px}}
@media (min-width:1001px) and (max-width:1250px){.course-layout{grid-template-columns:230px minmax(0,1fr);gap:28px}.options{grid-template-columns:1fr}.workspace form,.result{padding:20px}.result-head{align-items:flex-start;flex-direction:column}.intro{grid-template-columns:1fr}.intro>p:last-child{margin-top:4px}.evidence-grid{grid-template-columns:1fr}.sidebar-heading h2{font-size:22px}}
@media (max-width:1000px){:root{--header-height:74px;--reading-offset:158px}.head{min-height:74px;flex-direction:row;align-items:center;padding-block:12px;gap:14px}.header-label{display:none}.brand small{font-size:13px}.course-layout{display:block}.sidebar{top:var(--header-height);max-height:calc(100dvh - var(--header-height) - 12px);z-index:25;margin-inline:-24px;padding:0 24px;border-bottom:1px solid var(--line);background:#f7f9fcfa;overflow:auto}.sidebar-heading,.location-card{display:none}.toc-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:60px;padding:12px 0;border:0;border-radius:0;background:transparent;text-align:left;font-size:14px;gap:12px}.toc-toggle b{font-size:15px;color:var(--blue);margin-left:12px}.toc-toggle-label{white-space:nowrap;font-weight:400}#course-nav{display:none;padding-bottom:14px}#course-nav.is-open{display:grid;grid-template-columns:1fr 1fr}#course-nav a{padding:11px 13px}#course-nav small{font-size:13px}.lab{padding-top:26px}.intro h1{font-size:36px}.workspace{grid-template-columns:1fr 1fr}.options{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}.section-title h2{font-size:29px}}
@media (max-width:700px){.sidebar{margin-inline:-20px;padding-inline:20px}.brand>span{width:36px;height:36px;font-size:23px}.brand b{font-size:18px}.brand small{font-size:12px}.intro h1{font-size:32px}.workspace{grid-template-columns:1fr}.options{grid-template-columns:1fr 1fr}.result-head{flex-wrap:wrap}.intro>p:last-child{font-size:16px}.method-grid{grid-template-columns:1fr}.lesson-body{padding-inline:20px}.section-pager{gap:9px}.section-pager a{padding:12px}.section-pager b{font-size:14px}.section-position{font-size:13px}.first-section{font-size:14px}.section-title h2{font-size:26px}}
@media (max-width:420px){#course-nav.is-open{grid-template-columns:1fr}.options{grid-template-columns:1fr}.section-pager{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.section-position{display:none}}
@media (prefers-reduced-motion:reduce){#course-nav a{transition:none}}
@media print{.site-header,.sidebar,.section-pager{display:none}.course-layout{display:block}.shell{max-width:none;padding:0}#course-content{width:100%}}

/* Soul Lab shared palette */
:root{--ink:#1c302b;--muted:#58665f;--blue:#174d3e;--line:#d9ddd3;--pale:#edf0e5;--orange:#ad421b}body{background:#f7f6f0}.result{background:#174d3e}.result textarea{background:#214f42;border-color:#799387}.result-head .eyebrow,.result-note{color:#dae4d5}.result textarea{color:#fff}.count{color:#dee8d9;border-color:#799387}.primary:hover{background:#103d30}.option:has(input:checked){border-color:#9eb294}.sidebar{background:#f7f6f0}.home-link{font-size:14px;text-decoration:underline;white-space:nowrap}#course-nav a:hover{background:#e7ebdf}#course-nav a[aria-current]{background:var(--ink)}
