:root{--bg: #f5f1e8;--bg-chrome: #efe9d9;--bg-card: #f9f6ef;--bg-quote: #f0ebdc;--bg-practice: #ede7d4;--bg-modal: rgba(26, 24, 21, .45);--ink: #2d2926;--ink-muted: #625850;--ink-faint: #938879;--ink-dim: #b8afa0;--rule: #c5bc9e;--rule-soft: #e0d6c3;--accent: #7d3333;--accent-soft: #8b2323;--error-hue: #7d3333;--correct-hue: #3d5a3d;--font-serif: Georgia, "Times New Roman", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", "Segoe UI", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Menlo", monospace;--measure: 48rem;--sidebar-w: 20rem;--rail-w: 23.75rem;--page-gutter: 2.5rem}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga","onum";scroll-behavior:smooth;height:100%;overflow:hidden}kbd{font-family:var(--font-mono);font-size:.72em;padding:.2em .45em;background:#fff;border:1px solid rgba(197,188,158,.9);border-radius:.35rem;color:var(--ink-faint);margin:0 .1em;white-space:nowrap;box-shadow:0 1px 2px #2d29260f}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--rail-w);width:100%;height:100vh;overflow:hidden}.shell-sidebar{height:100%;overflow-y:auto;border-right:1px solid var(--rule-soft);padding:2.5rem var(--page-gutter) 3rem;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.sidebar-brand{margin:0 0 3rem}.sidebar-title{margin:0 0 .35rem;font-size:3rem;line-height:.96;font-weight:500;letter-spacing:-.04em}.sidebar-tagline{margin:0;font-size:1.06rem;line-height:1.35;font-style:italic;color:#2d2926b8}.shell-main{position:relative;min-width:0;padding:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.document{width:100%;max-width:var(--measure);margin:0 auto;padding:3.25rem 4.5rem 5rem}.reader-stage{position:relative}.reader-page{min-height:calc(100vh - 10rem);display:flex;flex-direction:column}.reader-page-head{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 0 2.25rem;padding:.2rem 0 1rem;background:linear-gradient(to bottom,var(--bg) 72%,rgba(245,241,232,.88) 92%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reader-page-kicker{display:flex;flex-direction:column;gap:.18rem}.reader-page-kicker-label,.reader-page-count,.chapter-outline-label,.reader-pager-direction{font-family:var(--font-sans);font-size:.64rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint)}.reader-page-kicker-name{font-size:1rem;color:var(--ink-muted);font-style:italic}.reader-page-meta{padding-top:.15rem}.reader-page-body{flex:1}.reader-page-body>:first-child{margin-top:0}.reader-pager{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;margin-top:3.5rem;padding-top:1.25rem;border-top:1px solid var(--rule-soft)}.reader-pager-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:.25rem 0;display:inline-flex;align-items:baseline;gap:.5rem;color:var(--ink-muted);cursor:pointer;font-family:var(--font-serif);font-size:.98rem;line-height:1.3;max-width:48%;text-align:left;transition:color .12s}.reader-pager-prev{margin-right:auto}.reader-pager-next{margin-left:auto;text-align:right}.reader-pager-button:before,.reader-pager-button:after{color:var(--ink-faint);font-size:1.1em;line-height:1;transition:transform .12s,color .12s}.reader-pager-prev:before{content:"‹"}.reader-pager-next:after{content:"›"}.reader-pager-next{flex-direction:row}.reader-pager-button:hover:not(:disabled){color:var(--accent)}.reader-pager-button:hover:not(:disabled):before,.reader-pager-button:hover:not(:disabled):after{color:var(--accent)}.reader-pager-prev:hover:not(:disabled):before{transform:translate(-.15rem)}.reader-pager-next:hover:not(:disabled):after{transform:translate(.15rem)}.reader-pager-button:disabled{cursor:default;opacity:.35}.reader-pager-direction{font-family:var(--font-sans);font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);margin-right:.4rem}.reader-pager-next .reader-pager-direction{order:2;margin-right:0;margin-left:.4rem}.reader-pager-label{font-size:.98rem;line-height:1.3;font-style:italic;color:var(--ink)}.reader-pager-button:disabled .reader-pager-label{font-style:normal}.reader-pager-pending{font-family:var(--font-sans);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-left:.5rem}.chapter-outline{margin-top:3rem;padding:1.6rem 0 0;border-top:1px solid var(--rule)}.chapter-outline-list,.chapter-outline-children{list-style:none;padding:0;margin:0}.chapter-outline-list{display:flex;flex-direction:column;gap:.45rem;margin-top:1rem}.chapter-outline-children{margin-top:.15rem;padding-left:1.15rem;display:flex;flex-direction:column;gap:.18rem}.chapter-outline-item.is-structural{margin-top:.85rem}.chapter-outline-structural{font-family:var(--font-sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint)}.chapter-outline-item.articulation-family>.chapter-outline-structural{font-family:var(--font-serif);font-size:.98rem;text-transform:none;letter-spacing:0;color:var(--ink-muted);font-style:italic}.chapter-outline-item.register-errors.articulation-family>.chapter-outline-structural{color:var(--ink);font-style:normal}.chapter-outline-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;font-family:var(--font-serif);font-size:1.02rem;line-height:1.32;text-align:left;color:var(--ink);cursor:pointer}.chapter-outline-link:hover,.chapter-outline-link.pending{color:var(--accent)}.chapter-outline-item.is-contrast>.chapter-outline-link,.chapter-outline-item.kind-distinction>.chapter-outline-link{font-style:italic;color:var(--ink-muted)}.chapter-outline-item.kind-virtue>.chapter-outline-link{font-variant:small-caps;letter-spacing:.08em;font-size:.92rem}.chapter-outline-item.kind-error>.chapter-outline-link{color:var(--error-hue);opacity:.86}.chapter-outline-item.kind-error>.chapter-outline-link:hover,.chapter-outline-item.kind-error>.chapter-outline-link.pending{color:var(--error-hue);opacity:1}.chapter-capstone{margin-top:3.5rem;padding:1.8rem 0 0;border-top:1px solid var(--rule)}.chapter-capstone-label{font-family:var(--font-sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint)}.chapter-capstone-list{list-style:none;padding:0;margin:1rem 0 0}.chapter-capstone-item{margin:0}.chapter-capstone-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;font-family:var(--font-serif);font-size:clamp(2rem,3.2vw,2.6rem);line-height:1.14;text-align:left;color:var(--ink);font-style:italic;cursor:pointer}.chapter-capstone-link:hover,.chapter-capstone-link.pending{color:var(--accent)}.reader-keys{position:sticky;top:1.5rem;z-index:30;display:flex;justify-content:flex-end;gap:.65rem;margin:0 0 2.5rem;font-family:var(--font-mono);font-size:.8rem;color:var(--ink-faint)}.shell-rail{height:100%;overflow-y:auto;border-left:1px solid var(--rule-soft);padding:3.3rem var(--page-gutter) 4rem;background:#efe9d94d;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}.rail-inner{position:sticky;top:2rem;display:flex;flex-direction:column;gap:2.8rem}.rail-quote{margin:0;padding:2rem;background:var(--bg-card);border:1px solid var(--rule);box-shadow:inset 0 0 0 1px #c5bc9e47}.rail-quote blockquote{margin:0}.rail-quote p{margin:0;font-size:1.18rem;line-height:1.5;font-style:italic}.rail-citation-meta{display:flex;flex-direction:column;gap:.15rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--rule-soft)}.rail-citation-source{font-family:var(--font-sans);font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint)}.rail-citation-locus{font-size:.9rem;font-style:italic;color:var(--ink-muted)}.rail-context{padding:0}.rail-context-label{font-family:var(--font-sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);margin-bottom:.75rem}.rail-context p{margin:0;font-size:.96rem;line-height:1.5;color:var(--ink-muted);font-style:italic}.rail-current{display:flex;flex-direction:column;gap:.45rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule-soft)}.rail-current-label,.rail-block-label{font-family:var(--font-sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint)}.rail-current-kind{font-family:var(--font-sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent)}.rail-current-title{margin:0;font-size:1.22rem;line-height:1.18;font-weight:400;color:var(--ink)}.rail-current-chapter{margin:.1rem 0 0;font-size:.94rem;line-height:1.55;color:var(--ink-muted);font-style:italic}.rail-anchors{display:flex;flex-direction:column;gap:.55rem;padding-top:1.4rem;border-top:1px solid var(--rule-soft)}.rail-anchors-label{font-family:var(--font-sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint)}.rail-anchors-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.22rem}.rail-anchors-item{margin:0}.rail-anchor-link{display:block;padding:.12rem 0;font-family:var(--font-serif);font-size:.92rem;color:var(--ink-muted);text-decoration:none;border:none;background:transparent;cursor:pointer;transition:color .12s ease}.rail-anchor-link:hover{color:var(--ink)}.rail-block{display:flex;flex-direction:column;gap:.8rem;padding-top:1.4rem;border-top:1px solid var(--rule-soft)}.rail-note-block{gap:.7rem}.rail-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.rail-item{display:flex;flex-direction:column;gap:.25rem}.rail-link{color:var(--ink);text-decoration:none;font-size:1rem;line-height:1.45;transition:color .12s}.rail-link:hover,.rail-link.active,.rail-link.pending{color:var(--accent)}.rail-item.kind-virtue .rail-link{font-variant:small-caps;letter-spacing:.05em}.rail-item.kind-distinction .rail-link,.rail-item.is-contrast .rail-link{font-style:italic}.rail-link-note,.rail-note-body{margin:0;font-size:.86rem;line-height:1.45;color:var(--ink-muted)}.toc{font-family:var(--font-serif);--numeral-col: 1.4rem;--numeral-gap: .55rem}.toc-group{margin:0 0 2rem}.toc-group:last-child{margin-bottom:0}.toc-group-label{font-family:var(--font-serif);font-style:normal;font-weight:700;font-size:1.08rem;color:var(--ink);margin:0 0 .85rem;padding:0;letter-spacing:-.015em;line-height:1.3}.toc-sections{list-style:none;padding:0;margin:0}.toc-section{margin:0 0 1.1rem}.toc-section:last-child{margin-bottom:0}.toc-section-link{display:grid;grid-template-columns:var(--numeral-col) 1fr;column-gap:var(--numeral-gap);align-items:baseline;padding:0;color:var(--ink);text-decoration:none;font-size:1.02rem;font-weight:500;line-height:1.15;transition:color .12s,transform .12s}.toc-section-link:hover{color:var(--accent);cursor:pointer}.toc-section-link:hover .toc-roman{color:var(--accent)}.toc-section-link.active{color:var(--accent);transform:none}.toc-section-link.pending{color:var(--accent);opacity:.82}.toc-section-link.pending .toc-roman,.toc-section-link.active .toc-roman{color:var(--accent)}.toc-roman{font-style:normal;color:var(--ink-faint);font-size:.74em;text-align:right;font-variant-numeric:lining-nums;letter-spacing:.02em;transition:color .12s;padding-top:.1em}.toc-name{min-width:0;letter-spacing:-.015em;max-width:11ch}.toc-section-link.active .toc-name{color:var(--accent);text-shadow:0 0 0 currentColor}.toc-items{list-style:none;margin:.45rem 0 0;padding:0 0 0 calc(var(--numeral-col) + var(--numeral-gap));display:flex;flex-direction:column;gap:.08rem}.toc-item{margin:0}.toc-item.is-structural{margin-top:.62rem}.toc-item-children{list-style:none;margin:.08rem 0 .18rem;padding:0 0 0 .95rem;display:flex;flex-direction:column;gap:.02rem}.toc-structural-label{font-family:var(--font-sans);font-size:.58rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);line-height:1.45;padding:.18rem 0 .04rem}.toc-item.articulation-family>.toc-structural-label{font-family:var(--font-serif);font-size:.92rem;text-transform:none;letter-spacing:0;color:var(--ink-muted);font-style:italic;padding-top:.28rem}.toc-item-link{display:block;padding:0;color:#6a5d51;text-decoration:none;font-family:var(--font-serif);font-size:.92rem;line-height:1.28;transition:color .1s}.toc-item-link:hover{color:var(--accent)}.toc-item-link.active{color:var(--accent);font-weight:700}.toc-item-link.pending{color:var(--accent);opacity:.82}.toc-item.kind-distinction .toc-item-link{font-style:italic}.toc-item.kind-virtue .toc-item-link{font-variant:small-caps;letter-spacing:.08em;font-size:.82rem}.toc-item.kind-error .toc-item-link{color:#6a5d51}.toc-item.kind-error .toc-item-link.active{color:var(--accent);font-weight:700}.toc-item.kind-quaestio .toc-item-link{color:var(--ink);font-style:italic}.toc-item.kind-quaestio .toc-item-link.active{color:var(--accent)}.toc-item.is-contrast .toc-item-link{color:var(--ink-faint);font-style:italic;font-size:.84rem;padding-left:.15rem}.toc-item.is-contrast .toc-item-link.active{color:var(--accent)}.toc-item-children .toc-item-link{font-style:italic;font-variant:normal;letter-spacing:0;font-size:.86rem;color:var(--ink-faint);opacity:1}.toc-item-children .toc-item-link.active{color:var(--accent);font-weight:700}.toc-item-children .toc-item-link.pending{color:var(--accent);opacity:.82}.governing-formula{margin:0 0 3.5rem;padding:1.6rem 2.2rem;border-left:3px solid var(--accent);background:var(--bg-quote);font-style:italic;line-height:1.5;font-size:1.1rem;color:var(--ink)}.governing-formula p{margin:0}.root-intro{margin:2.5rem 0 3.5rem;font-size:2rem;line-height:1.4}.has-dropcap:first-letter{font-family:var(--font-serif);font-size:5rem;font-weight:400;line-height:.8;float:left;margin:.08em .1em 0 0;color:var(--accent);padding-top:0}.section{margin:0 0 3.25rem;scroll-margin-top:2rem;content-visibility:auto;contain-intrinsic-size:auto 1200px;contain:layout style}.section-depth-1+.section-depth-1{margin-top:5.5rem;border-top:1px solid var(--rule);padding-top:5rem}.section-depth-2{margin-top:3.5rem}.h-section{font-weight:400;font-size:4rem;line-height:.98;margin:0 0 2.2rem;display:flex;align-items:baseline;gap:1rem;letter-spacing:-.035em}.h-section .h-numeral{font-style:normal;color:var(--accent);font-size:.78em;flex:none;min-width:2.2rem}.h-section .h-title{flex:1}.h-subsection{font-weight:400;font-size:1.3rem;line-height:1.25;margin:3rem 0 1rem}.section-lede{font-size:1.62rem;line-height:1.4;margin:0 0 2rem;color:var(--ink)}.section-basis{font-size:.98rem;margin:-.2rem 0 2.2rem;color:var(--ink-muted);line-height:1.5;font-style:italic}.group{margin:0 0 1.75rem}.group-label{font-family:var(--font-sans);font-size:11px;text-transform:uppercase;letter-spacing:.28em;color:var(--accent);margin:2.6rem 0 1.1rem;padding:0 0 .45rem;border-bottom:1.5px solid var(--rule);font-weight:600;position:relative}.group-label:before{content:"§";position:absolute;left:-1.25rem;top:-.05em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1rem;color:var(--accent);letter-spacing:0;text-transform:none}.group-virtues>.group-label{color:var(--accent-soft)}.group-virtues>.group-label:before{color:var(--accent-soft)}.group-distinctions>.group-label{color:var(--accent)}.group-errors>.group-label{color:var(--error-hue)}.group-errors>.group-label:before{color:var(--error-hue)}.group-categories>.group-label{color:var(--ink-muted)}.group-categories>.group-label:before{color:var(--ink-muted)}.concept{margin:0 0 2.25rem;scroll-margin-top:2rem}.concept+.concept{padding-top:1.75rem;border-top:1px solid var(--rule-soft)}.concept-children{margin:1.4rem 0 0 1.35rem;padding-left:1.25rem;border-left:1px solid rgba(197,188,158,.7)}.concept-children>.concept{margin-bottom:2.2rem}.concept-children>.concept:last-child{margin-bottom:0}.concept-children>.concept+.concept{padding-top:1.6rem}.concept-tag{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);margin-bottom:.55rem;font-weight:500}.concept-tag em{font-style:italic;color:var(--ink-muted);letter-spacing:0;text-transform:none;font-weight:400;font-family:var(--font-serif);font-size:12px}.concept-contrast .concept-name{font-family:var(--font-serif);font-size:1.14rem;font-style:italic;font-variant:normal;letter-spacing:0;color:var(--ink-muted);font-weight:400}.concept-contrast .concept-def{border-left-color:var(--ink-dim);font-size:1.02rem;color:var(--ink)}.concept-contrast .mastery-dots .dot-filled{background:var(--ink-muted);border-color:var(--ink-muted)}.concept-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.1rem}.concept-name{font-family:var(--font-serif);font-weight:400;font-size:1.55rem;margin:0;color:var(--ink);font-variant:small-caps;letter-spacing:.11em}.concept-def{margin:0 0 1.5rem;padding:0 0 0 1.25rem;border-left:3px solid var(--accent);font-size:1.18rem;line-height:1.52;color:var(--ink);letter-spacing:.002em}.concept-non-example{margin:0 0 1rem;color:var(--ink-muted);line-height:1.5;font-size:.97rem;padding-left:1.35rem}.concept-non-example em{color:var(--accent-soft);font-weight:500;font-size:.68rem;font-variant:small-caps;letter-spacing:.16em;font-style:normal;margin-right:.25rem}.concept-irreducibility{margin:0;padding-left:1.35rem;font-size:.84rem;line-height:1.45;color:var(--ink-faint);font-style:italic}.citations{margin:1.75rem 0 0;padding-left:1.35rem}.citation{margin:0 0 1.25rem;padding:1.25rem 1.75rem 1.1rem;background:transparent;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-soft);position:relative}.citation:last-child{margin-bottom:0}.citation-text{margin:0 0 .9rem;font-family:Palatino Linotype,Palatino,Book Antiqua,"PT Serif",Georgia,Iowan Old Style,serif;font-size:1.04rem;line-height:1.52;color:var(--ink);letter-spacing:-.006em;font-feature-settings:"kern","liga","onum";hanging-punctuation:first last}.citation-text p{margin:0 0 .55rem}.citation-text p:last-child{margin-bottom:0}.citation-latin{font-style:italic;color:var(--ink-muted);font-size:.92rem;line-height:1.5;letter-spacing:-.003em;margin-top:.35rem}.citation-attribution{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline;padding-top:.7rem;border-top:1px solid var(--rule-soft);margin-top:.25rem}.citation-source{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:600}.citation-locus{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:11.5px;color:var(--ink-muted);font-style:italic;letter-spacing:0}.citation-attrib{font-family:var(--font-sans);font-size:9.5px;color:var(--ink-faint);margin-left:auto;letter-spacing:.02em}.virtue{margin:0 0 2.5rem;padding:1.2rem 1.5rem 1.4rem;background:var(--bg-card);border:1px solid var(--rule-soft);border-left:3px solid var(--accent-soft);scroll-margin-top:2rem}.virtue-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .75rem}.virtue-name{font-family:var(--font-serif);font-weight:400;font-size:1.22rem;margin:0;font-variant:small-caps;letter-spacing:.05em;color:var(--ink)}.virtue-kind{font-family:var(--font-sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint)}.virtue-theological .virtue-kind{color:var(--accent);font-weight:500}.virtue-def{margin:0 0 1.1rem;padding:0 0 0 1rem;border-left:2px solid var(--accent-soft);font-size:1.02rem;line-height:1.5;color:var(--ink)}.virtue-theological .virtue-def{border-left-color:var(--accent)}.virtue-anatomy{margin:0 0 1rem;padding:.5rem 0 0;border-top:1px solid var(--rule-soft)}.virtue-anatomy dt{font-family:var(--font-sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-top:.75rem}.virtue-anatomy dt:first-of-type{margin-top:.25rem}.virtue-anatomy dd{margin:.1rem 0 0;font-size:.94rem;line-height:1.45;color:var(--ink)}.virtue-opposed{margin:0 0 .8rem;padding-top:.65rem;border-top:1px solid var(--rule-soft)}.virtue-defect,.virtue-excess{margin:0 0 .5rem;font-size:.9rem;line-height:1.45;color:var(--ink-muted)}.virtue-tag{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--error-hue);margin-right:.5rem;font-weight:500}.virtue-excess .virtue-tag{color:var(--accent-soft)}.virtue-distortion{margin:0;font-size:.88rem;line-height:1.45;color:var(--ink-faint);font-style:italic;padding-top:.6rem;border-top:1px solid var(--rule-soft)}.virtue-distortion .virtue-tag{color:var(--ink-faint);font-style:normal}.quaestio{margin:0 0 3rem;padding:2rem 2.25rem;background:#fdfaf1;border:1px solid var(--rule);border-top:3px solid var(--accent);scroll-margin-top:2rem}.quaestio-head{margin:0 0 1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--rule-soft)}.quaestio-kind{font-family:var(--font-sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.26em;color:var(--accent);font-weight:600;margin:0 0 .65rem}.quaestio-title{font-family:var(--font-serif);font-size:1.6rem;font-weight:400;line-height:1.2;margin:0 0 .85rem;color:var(--ink);letter-spacing:-.005em}.quaestio-question{margin:0 0 .35rem;font-family:var(--font-serif);font-style:italic;font-size:1.02rem;line-height:1.45;color:var(--ink)}.quaestio-question-label{font-style:normal;color:var(--accent);font-weight:500;margin-right:.4rem}.quaestio-question-latin{margin:0;font-family:Palatino Linotype,Palatino,Georgia,serif;font-style:italic;font-size:.9rem;line-height:1.55;color:var(--ink-muted);letter-spacing:-.002em}.quaestio-level{margin:0 0 1.75rem;padding:.95rem 1.1rem;background:var(--bg-card);border:1px solid var(--rule-soft);border-left:3px solid var(--accent-soft)}.quaestio-level-label{font-family:var(--font-sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);font-weight:500;margin:0 0 .35rem}.quaestio-level-name{font-family:var(--font-serif);font-size:1.05rem;font-variant:small-caps;letter-spacing:.06em;margin:0 0 .5rem;color:var(--accent)}.quaestio-level-link{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent)}.quaestio-level-link:hover{color:var(--accent-soft)}.quaestio-level-summary{font-size:.91rem;line-height:1.45;color:var(--ink-muted);font-style:italic;margin:0}.quaestio-level.level-dogma{border-left-color:var(--accent)}.quaestio-level.level-dogma .quaestio-level-name{color:var(--accent)}.quaestio-level.level-definitive_doctrine{border-left-color:var(--accent-soft)}.quaestio-level.level-authentic_magisterium{border-left-color:var(--ink-muted)}.quaestio-level.level-authentic_magisterium .quaestio-level-name{color:var(--ink-muted)}.quaestio-level.level-prudence{border-left-color:var(--ink-faint)}.quaestio-level.level-prudence .quaestio-level-name{color:var(--ink-faint)}.quaestio-answer{margin:0 0 1.75rem}.quaestio-answer-label{font-family:var(--font-sans);font-size:9.5px;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);font-weight:500;margin:0 0 .85rem}.quaestio-answer p{margin:0 0 .85rem;line-height:1.55;font-size:1.02rem;color:var(--ink)}.quaestio-answer p:last-child{margin-bottom:0}.quaestio-apparatus{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--rule-soft);display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:48rem){.quaestio-apparatus{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.5rem}}.quaestio-apparatus-label{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:var(--ink-faint);font-weight:500;margin:0 0 .5rem}.quaestio-apparatus-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.apparatus-link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);font-size:.92rem;line-height:1.5;transition:color .12s,border-color .12s}.apparatus-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.apparatus-link.error{color:var(--error-hue)}.apparatus-link.error:hover{color:var(--error-hue);border-bottom-color:var(--error-hue)}.apparatus-link.virtue{color:var(--accent-soft);font-variant:small-caps;letter-spacing:.04em}.apparatus-link.virtue:hover{color:var(--accent);border-bottom-color:var(--accent)}.group-quaestiones>.group-label{color:var(--accent);font-weight:700}.group-quaestiones>.group-label:before{color:var(--accent)}.vice-driving{margin:1rem 0 0;padding:.95rem 1.2rem;background:#f8f3e5;border:1px solid var(--rule-soft);border-left:3px solid var(--accent);font-size:.94rem}.vice-label{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin-bottom:.65rem;font-weight:600}.vice-text,.virtue-required{margin:0 0 .55rem;line-height:1.45;color:var(--ink)}.vice-header{font-family:var(--font-sans);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);font-weight:500;margin-right:.4rem}.virtue-link{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);font-style:italic;font-weight:500}.virtue-link:hover{color:var(--accent-soft)}.virtue-kind-note{color:var(--ink-faint);font-style:italic;font-size:.88em}.vice-note{margin:.65rem 0 0;padding-top:.55rem;border-top:1px solid var(--rule-soft);font-size:.87rem;line-height:1.45;color:var(--ink-muted);font-style:italic}.distinction{margin:0 0 2.5rem;padding:1.5rem 1.75rem 1.6rem;background:var(--bg-card);border:1px solid var(--rule-soft);border-left:3px solid var(--accent-soft);scroll-margin-top:2rem}.distinction-name{font-weight:400;font-size:1.2rem;margin:0 0 1rem;color:var(--accent);text-align:center;display:flex;align-items:baseline;justify-content:center;gap:.5rem}.distinction-a,.distinction-b{font-style:italic}.distinction-sep{color:var(--ink-faint);font-style:normal;font-size:.9em}.distinction-cut{margin:0 0 .75rem;line-height:1.55;font-size:1rem}.distinction-why{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-muted)}.distinction-why em{color:var(--accent-soft);font-weight:500;font-size:.68rem;font-variant:small-caps;letter-spacing:.16em;font-style:normal;margin-right:.25rem}.error{margin:0 0 2.75rem;scroll-margin-top:2rem}.error-name{font-weight:400;font-size:1.16rem;margin:0 0 .75rem;color:var(--error-hue);font-style:italic;letter-spacing:.005em}.error-schema{margin:0 0 1rem;line-height:1.5;font-size:1rem;color:var(--ink)}.error-repair{margin:0;padding:1rem 1.2rem;background:var(--bg-card);border:1px solid var(--rule-soft);border-left:3px solid var(--error-hue);font-size:.96rem;line-height:1.5}.error-repair p{margin:0}.repair-label{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--error-hue);margin-bottom:.5rem;font-weight:500}.category{margin:0 0 1.5rem}.category-name{font-weight:400;font-size:1rem;margin:0 0 .3rem;font-variant:small-caps;letter-spacing:.03em}.category-criteria{margin:0;font-size:.92rem;color:var(--ink-muted)}.practice{margin:1.5rem 0 0;padding:1.1rem 1.3rem 1.3rem;background:var(--bg-practice);border-left:2px solid var(--accent-soft);font-size:.94rem}.practice-label{font-family:var(--font-sans);font-size:10.5px;text-transform:uppercase;letter-spacing:.22em;color:var(--accent-soft);margin-bottom:.55rem}.practice-prompt{margin:0 0 .85rem;line-height:1.45;font-style:italic}.practice-options{display:flex;flex-direction:column;gap:.35rem;margin:0 0 .4rem}.practice-option{background:var(--bg-card);border:1px solid var(--rule);color:var(--ink);padding:.55rem .9rem;font-family:var(--font-serif);font-size:.94rem;text-align:left;cursor:pointer;transition:border-color .12s,background-color .12s}.practice-option:hover:not(:disabled){border-color:var(--accent);background:#f6f0de}.practice-option:disabled{cursor:default}.practice-option.correct{border-color:var(--correct-hue);background:#e8f0e8}.practice-option.incorrect{border-color:var(--error-hue);background:#f3e6e2}.practice-feedback{margin:.75rem 0 0;padding:.8rem 1rem;background:var(--bg-card);border-left:2px solid var(--accent);font-size:.9rem;line-height:1.45}.practice-feedback.correct{border-left-color:var(--correct-hue)}.practice-feedback.incorrect{border-left-color:var(--error-hue)}.practice-feedback-label{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);margin-bottom:.3rem}.practice-feedback p{margin:0}.mastery-dots{display:inline-flex;gap:2px;align-items:center;flex:none;cursor:help;position:relative}.mastery-dots .dot{width:6px;height:6px;border-radius:50%;background:transparent;border:1px solid var(--rule);transition:background-color .3s,border-color .3s}.mastery-dots .dot-filled{background:var(--accent);border-color:var(--accent)}.mastery-dots:after{content:attr(data-title);position:absolute;bottom:calc(100% + .4rem);right:0;background:var(--bg-card);color:var(--ink);border:1px solid var(--rule);border-right:3px solid var(--accent);padding:.45rem .7rem;font-family:var(--font-serif);font-size:.78rem;line-height:1.4;white-space:nowrap;box-shadow:0 6px 18px #1a18151a;opacity:0;pointer-events:none;transition:opacity .18s;z-index:50}.mastery-dots:hover:after{opacity:1}.break-points{margin-top:5rem;padding-top:4rem;border-top:1px solid var(--rule);scroll-margin-top:2rem}.break-list{list-style:none;padding:0;margin:0}.break-item{margin:0 0 2rem;padding-top:1.5rem;border-top:1px solid var(--rule-soft);scroll-margin-top:2rem}.break-item:first-child{border-top:none;padding-top:0}.break-head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:.5rem}.break-num{font-family:var(--font-sans);font-size:10.5px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);flex:none}.break-title{font-size:1.08rem;color:var(--ink)}.break-question{margin:0 0 .5rem;line-height:1.5}.break-if-rejected{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-muted);padding-left:1rem;border-left:2px solid var(--rule-soft);font-style:italic}.term-wrap{position:relative;display:inline}.term{background:none;border:none;color:var(--accent);font:inherit;font-weight:500;cursor:pointer;padding:0 .05em;transition:color .12s,background-color .12s}.term:hover,.term-wrap.is-open .term{color:var(--accent-soft);background-color:#7d33330f}.term:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.term-pop{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%);width:min(22rem,86vw);background:var(--bg-card);color:var(--ink);border:1px solid var(--rule);border-left:3px solid var(--accent);padding:.85rem 1rem;font-family:var(--font-serif);font-size:.86rem;font-style:normal;line-height:1.55;text-align:left;letter-spacing:0;box-shadow:0 10px 28px #1a18151f;z-index:100;display:flex;flex-direction:column;gap:.45rem;animation:term-pop-in .14s ease-out}@keyframes term-pop-in{0%{opacity:0;transform:translate(-50%) translateY(.2rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.term-pop.term-pop-portal{position:fixed;bottom:auto;transform:translate(-50%,calc(-100% - .4rem));animation:term-pop-portal-in .14s ease-out}@keyframes term-pop-portal-in{0%{opacity:0;transform:translate(-50%,calc(-100% - .2rem))}to{opacity:1;transform:translate(-50%,calc(-100% - .4rem))}}.term-pop-name{font-weight:600;color:var(--ink)}.term-pop-def{color:var(--ink-muted)}.term-pop-link{align-self:flex-start;font-family:var(--font-sans);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color .12s}.term-pop-link:hover{border-bottom-color:var(--accent)}.faint{color:var(--ink-faint)}.colophon{margin-top:5rem;padding-top:2.5rem;border-top:1px solid var(--rule);color:var(--ink-faint);font-size:.86rem;line-height:1.5;text-align:center}.colophon p{margin:0 0 .5rem}.colophon p:last-child{margin-bottom:0;font-style:italic}.cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:cmd-fade .12s ease-out}@keyframes cmd-fade{0%{opacity:0}to{opacity:1}}.cmd-panel{width:min(38rem,92vw);background:var(--bg);border:1px solid var(--rule);border-radius:8px;box-shadow:0 24px 64px #1a181559;overflow:hidden;animation:cmd-rise .18s cubic-bezier(.2,.8,.2,1)}@keyframes cmd-rise{0%{transform:translateY(.6rem);opacity:0}to{transform:translateY(0);opacity:1}}.cmd-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--rule-soft);padding:1rem 1.25rem;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink);outline:none}.cmd-input::placeholder{color:var(--ink-dim)}.cmd-results{max-height:50vh;overflow-y:auto}.cmd-empty{padding:1.5rem;color:var(--ink-faint);font-style:italic;text-align:center;font-size:.92rem}.cmd-result{display:flex;align-items:baseline;gap:.75rem;width:100%;padding:.7rem 1.25rem;background:transparent;border:none;text-align:left;cursor:pointer;font-family:var(--font-serif);color:var(--ink);border-left:2px solid transparent;transition:background .1s,border-color .1s}.cmd-result.selected,.cmd-result:focus{background:var(--bg-chrome);border-left-color:var(--accent);outline:none}.cmd-kind{font-family:var(--font-sans);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);flex:none;min-width:4.5rem}.cmd-kind.kind-error{color:var(--error-hue)}.cmd-kind.kind-distinction{font-style:italic;text-transform:none;letter-spacing:0;font-size:11px;font-family:var(--font-serif);color:var(--accent)}.cmd-label{flex:1;font-size:.98rem}.cmd-subtitle{color:var(--ink-faint);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-footer{display:flex;justify-content:flex-end;gap:1rem;padding:.65rem 1.25rem;border-top:1px solid var(--rule-soft);background:var(--bg-chrome);font-family:var(--font-sans);font-size:11px;color:var(--ink-faint)}.shell-hamburger,.shell-overlay,.shell-drawer-actions{display:none}@media(max-width:1100px){:root{--rail-w: 0}.shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.shell-rail{display:none}}@media(max-width:768px){:root{--sidebar-w: 0;--measure: auto}.shell{grid-template-columns:1fr}.shell-hamburger{display:flex;position:fixed;top:.6rem;left:.75rem;z-index:120;width:2.75rem;height:2.75rem;padding:0;background:var(--bg-card);border:1px solid var(--rule);border-radius:.4rem;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;box-shadow:0 1px 3px #2d29261f}.shell-hamburger-bar{display:block;width:1.1rem;height:2px;background:var(--ink);border-radius:1px;transition:transform .2s ease,opacity .2s ease}.shell-hamburger.is-open .shell-hamburger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.shell-hamburger.is-open .shell-hamburger-bar:nth-child(2){opacity:0}.shell-hamburger.is-open .shell-hamburger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.shell-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a181573;z-index:99;opacity:0;pointer-events:none;transition:opacity .22s ease}.shell.sidebar-open .shell-overlay{opacity:1;pointer-events:auto}.shell-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,22rem);transform:translate(-100%);transition:transform .24s ease;z-index:110;padding:1rem 1.5rem 3rem;box-shadow:2px 0 18px #1a181524;border-right:1px solid var(--rule-soft)}.shell.sidebar-open .shell-sidebar{transform:translate(0)}.shell-drawer-actions{display:flex;gap:.6rem;margin:0 0 1.5rem;padding-top:2.75rem}.shell-drawer-search{flex:1;display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:0 .9rem;background:var(--bg-card);border:1px solid var(--rule);border-radius:.4rem;color:var(--ink-muted);font-family:var(--font-sans);font-size:.92rem;cursor:pointer;text-align:left}.shell-drawer-search-icon{font-size:1.1rem;color:var(--ink-faint)}.document{padding:3.5rem 1.25rem 5rem}html,body{font-size:17px}.reader-keys{display:none}.reader-page-head{position:static;margin-bottom:1.6rem;padding-bottom:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.reader-pager{gap:1rem;padding-top:1rem}.reader-pager-button{padding:.5rem 0}.h-section{font-size:2.3rem;flex-direction:column;gap:.35rem}.section-lede{font-size:1.25rem}.root-intro{font-size:1.15rem;margin-top:2rem}.has-dropcap:first-letter{font-size:4rem}.concept-head{flex-direction:column;align-items:flex-start;gap:.4rem}.toc-item-link{padding:.55rem 0;font-size:.98rem;line-height:1.32}.toc-section-link{padding:.7rem 0}.practice-option{padding:.85rem 1rem;min-height:2.75rem;font-size:1rem}}.concept-liturgy{max-width:34rem;margin:0 auto;padding:.5rem 0 4rem;font-family:var(--font-serif)}.concept-liturgy .act-term{display:flex;align-items:baseline;justify-content:space-between;gap:1.25rem;margin-bottom:2.4rem;padding-bottom:1rem;border-bottom:1px solid var(--rule-soft)}.concept-liturgy .act-term-name{font-family:var(--font-serif);font-weight:400;font-size:2.2rem;line-height:1.12;margin:0;color:var(--ink);font-variant:small-caps;letter-spacing:.08em}.concept-liturgy .act-definition{margin:0 0 2rem}.concept-liturgy .act-definition .act-label{font-family:var(--font-sans);font-weight:500;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.5rem}.concept-liturgy .act-definition .act-body{margin:0;padding:.15rem 0 .15rem 1.3rem;border-left:3px solid var(--ink);font-family:var(--font-serif);font-size:1.18rem;line-height:1.48;color:var(--ink)}.concept-liturgy .concept-notes{margin:0 0 .5rem}.concept-liturgy .concept-note{margin:0 0 1rem;font-family:var(--font-serif);font-size:1rem;line-height:1.6;color:var(--ink)}.concept-liturgy .concept-note:last-child{margin-bottom:0}.concept-liturgy .note-kicker{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:.94rem;color:var(--ink-dim);margin-right:.25rem}.concept-liturgy .concept-note-apply{font-size:.92rem;color:var(--ink-muted);margin-top:1.2rem}.concept-liturgy .act-authority{margin-top:2.75rem;padding:1.5rem 0 0;border-top:1px solid var(--rule-soft)}.concept-liturgy .fleuron{text-align:center;font-family:var(--font-serif);font-size:1.3rem;color:var(--ink-faint);margin:0 0 1rem;line-height:1}.concept-liturgy .authority-quote{margin:0 0 .9rem}.concept-liturgy .authority-quote:last-child{margin-bottom:0}.concept-liturgy .authority-text{margin:0 0 .4rem;font-family:var(--font-serif);font-style:italic;font-size:.95rem;line-height:1.6;color:var(--ink);text-align:center}.concept-liturgy .authority-attrib{display:block;text-align:center;font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-style:normal}@media(max-width:640px){.concept-liturgy{max-width:100%;padding:.25rem 0 3rem}.concept-liturgy .act-term{flex-direction:column;align-items:flex-start;gap:.5rem}.concept-liturgy .act-term-name{font-size:1.85rem}.concept-liturgy .act-definition .act-body{font-size:1.08rem}}
