:root{--paper: #fbfaf7;--ink: #1a1c21;--ink-soft: #4a4f57;--rule: #cfd0cd;--rule-strong: #1a1c21;--box: #f1efe9;--accent: #b03a21;--accent-strong: #8e2d16;--accent-tint: rgba(176, 58, 33, 0.07);--plate: #ffffff;--masthead-h: 3.25rem;--rail-w: 19rem}@media (prefers-color-scheme: dark){:root{--paper: #111418;--ink: #d8d6cf;--ink-soft: #a3a8b0;--rule: #2c3138;--rule-strong: #d8d6cf;--box: #191d23;--accent: #e9603e;--accent-strong: #f07b5e;--accent-tint: rgba(233, 96, 62, 0.12);--plate: #f4f2ec}}*{box-sizing:border-box}html{scroll-behavior:smooth}body.book{margin:0;background:var(--paper);color:var(--ink);font-family:"STIX Two Text", "Times New Roman", Georgia, serif;font-size:1.1875rem;line-height:1.72;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[id]{scroll-margin-top:calc(var(--masthead-h) + 1.5rem)}::selection{background:var(--accent-tint)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none !important;animation:none !important}}.book-masthead{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--rule-strong)}.book-masthead-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--masthead-h);padding:0 1.25rem}.book-series{font-family:"Libre Franklin", "Franklin Gothic Medium", Arial, sans-serif;font-weight:800;font-size:0.8rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-series:hover{color:var(--accent)}.book-masthead-nav{display:flex;align-items:center;gap:0.25rem;flex-shrink:0}.book-masthead-nav a,.book-masthead-nav button{appearance:none;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:0.35rem;padding:0.45rem 0.65rem;font-family:"Libre Franklin", Arial, sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;transition:color 0.15s ease-out}.book-masthead-nav a:hover,.book-masthead-nav button:hover{color:var(--accent)}.book-masthead-nav .material-symbols-rounded{font-size:1.2rem}.book-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}.book-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}.book-rail{position:fixed;top:var(--masthead-h);bottom:0;left:0;width:var(--rail-w);background:var(--paper);border-right:1px solid var(--rule);overflow-y:auto;z-index:50;transform:translateX(-100%);transition:transform 0.25s cubic-bezier(0.22, 1, 0.36, 1)}.book-rail-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem 0.6rem}.book-rail-head h2{margin:0;font-family:"Libre Franklin", Arial, sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft)}.book-rail-close{appearance:none;background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:1.2rem;line-height:1;padding:0.2rem 0.4rem}.book-rail-close:hover{color:var(--accent)}.book-rail ol{list-style:none;margin:0 0 2rem;padding:0}.book-rail li a{display:grid;grid-template-columns:2.4rem 1fr;gap:0.5rem;align-items:baseline;padding:0.5rem 1.25rem;color:var(--ink);text-decoration:none;font-size:0.95rem;line-height:1.35}.book-rail li a .no{font-family:"Libre Franklin", Arial, sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.04em;color:var(--ink-soft);text-align:right}.book-rail li a:hover .ttl{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.book-rail li.active a{background:var(--box)}.book-rail li.active a .no{color:var(--accent)}.book-rail li.active a .ttl{font-weight:600}.book-rail li.rail-break{border-top:1px solid var(--rule);margin:0.45rem 1.25rem}.book-scrim{position:fixed;inset:0;background:rgba(16,18,22,0.5);z-index:45;opacity:0;visibility:hidden;transition:opacity 0.25s ease-out, visibility 0.25s ease-out}body.rail-open .book-rail{transform:translateX(0)}body.rail-open .book-scrim{opacity:1;visibility:visible}@media (min-width: 1100px){.book-rail{transform:translateX(0)}body.rail-closed .book-rail{transform:translateX(-100%)}.book-scrim{display:none}.book-main{margin-left:var(--rail-w)}body.rail-closed .book-main{margin-left:0}}.book-main{min-height:calc(100vh - var(--masthead-h))}.book-article{max-width:44rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}.book-doc-head{border-top:3px solid var(--rule-strong);margin-bottom:2.25rem}.book-doc-band{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0;padding:0.55rem 0 0.5rem;border-bottom:1px solid var(--rule);font-family:"Libre Franklin", Arial, sans-serif;font-weight:600;font-size:0.72rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-soft)}.book-doc-numeral{display:block;margin-top:1.6rem;font-family:"Libre Franklin", Arial, sans-serif;font-weight:800;font-size:clamp(4.25rem, 9vw, 6rem);line-height:0.9;letter-spacing:-0.02em;color:var(--accent)}.book-article h1{font-family:"STIX Two Text", Georgia, serif;font-weight:700;font-size:clamp(2.1rem, 5vw, 2.7rem);line-height:1.12;letter-spacing:-0.01em;color:var(--ink);margin:1.1rem 0 0;padding-bottom:0.9rem;border-bottom:4px double var(--rule-strong)}.book-article h1+h2{font-family:"STIX Two Text", Georgia, serif;font-weight:400;font-style:italic;font-size:1.35rem;letter-spacing:0;text-transform:none;color:var(--ink-soft);margin-top:1.1rem}.book-article h2{font-family:"Libre Franklin", Arial, sans-serif;font-weight:700;font-size:1.32rem;line-height:1.25;letter-spacing:0.005em;color:var(--ink);margin:3rem 0 0.9rem}.book-article h3{font-family:"Libre Franklin", Arial, sans-serif;font-weight:600;font-size:1.08rem;line-height:1.3;color:var(--ink);margin:2.4rem 0 0.7rem}.book-article h4,.book-article h5,.book-article h6{font-family:"Libre Franklin", Arial, sans-serif;font-weight:600;font-size:0.95rem;color:var(--ink);margin:2rem 0 0.6rem}.book-article h1+p,.book-article h2+p,.book-article h3+p{margin-top:0}.book-article p{margin:0 0 1.1em}.book-article h1+p{margin-top:1.6rem}.book-article a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color 0.15s ease-out}.book-article a:hover{color:var(--accent)}.book-article strong{font-weight:700}.book-article ul,.book-article ol{margin:0 0 1.1em;padding-left:1.6em}.book-article ul{list-style-type:square}.book-article li{margin-bottom:0.35em}.book-article li::marker{color:var(--accent)}.book-article blockquote{margin:1.6rem 0;padding:0.2rem 0 0.2rem 1.25rem;border-left:1px solid var(--rule-strong);font-style:italic;color:var(--ink-soft)}.book-article hr{border:none;border-top:1px solid var(--rule);margin:2.5rem 0}.book-article sup{line-height:0}.book-article sup a{font-family:"Libre Franklin", Arial, sans-serif;font-size:0.72em;font-weight:600;color:var(--accent);text-decoration:none;padding:0 0.1em}.book-article sup a:hover{color:var(--accent-strong);text-decoration:underline}.book-article table{border-collapse:collapse;width:100%;margin:1.6rem 0;font-size:0.95rem;line-height:1.5}.book-article th{font-family:"Libre Franklin", Arial, sans-serif;font-weight:700;font-size:0.72rem;letter-spacing:0.05em;text-transform:uppercase;text-align:left;color:var(--ink-soft);border-top:2px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);padding:0.5rem 0.75rem}.book-article td{border-bottom:1px solid var(--rule);padding:0.5rem 0.75rem;vertical-align:top}.book-article code{font-family:"SF Mono", "Cascadia Code", Consolas, Menlo, monospace;font-size:0.82em}.book-article pre{background:var(--box);border:1px solid var(--rule);padding:1rem 1.25rem;overflow-x:auto;font-size:0.82rem;line-height:1.55;margin:0 0 1.4rem}.book-article pre code{font-size:inherit}.book-article .alert{background:var(--box);border:1px solid var(--rule);padding:1rem 1.3rem;margin:1.6rem 0}.book-article .alert-info{border-color:var(--ink-soft)}.book-stamp{display:block;width:fit-content;max-width:100%;margin:0 0 2rem;padding:0.75rem 1.1rem 0.8rem;border:2px solid var(--accent);border-radius:3px;background:var(--accent-tint);color:var(--accent);transform:rotate(-0.7deg)}.book-stamp-title{display:block;font-family:"Libre Franklin", Arial, sans-serif;font-weight:800;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:0.2rem}.book-stamp p{margin:0;font-size:0.95rem;line-height:1.5}@media (prefers-color-scheme: dark){.book-stamp{color:var(--accent-strong)}}.book-figure{margin:2rem auto;width:min(100%, 34rem);border:1px solid var(--rule);background:var(--plate);padding:0.75rem}.book-figure img{display:block;width:100%;height:auto;cursor:zoom-in}.book-article img{max-width:100%;height:auto}.book-article .infographic-container{width:min(100%, 36rem);margin:2rem auto;border:1px solid var(--rule);background:var(--plate);padding:0.75rem}.book-article .infographic-container img{display:block;width:100%;height:auto}.book-article .footnotes{margin-top:3.5rem;border-top:1px solid var(--rule-strong);padding-top:1.25rem;font-size:0.95rem;line-height:1.6;color:var(--ink-soft)}.book-article .footnotes ol{padding-left:1.4em}.book-article .footnotes li{margin-bottom:0.6em}.book-article .footnotes a{color:inherit}.book-article .footnotes a:hover{color:var(--accent)}.book-article p:has(>a:target),.book-article p:target{background:var(--accent-tint)}.book-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:3.5rem;border-top:3px solid var(--rule-strong);padding-top:1.1rem}.book-pager a{display:inline-flex;align-items:center;gap:0.4rem;font-family:"Libre Franklin", Arial, sans-serif;font-weight:700;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:0.4rem 0;transition:color 0.15s ease-out}.book-pager a:hover{color:var(--accent)}.book-pager a .material-symbols-rounded{color:var(--accent);font-size:1.2rem}.book-pager .pager-next{margin-left:auto}.book-foot{border-top:3px solid var(--rule-strong);margin-top:2rem}.book-foot-inner{max-width:44rem;margin:0 auto;padding:1.4rem 1.5rem 2.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;font-family:"Libre Franklin", Arial, sans-serif;font-size:0.8rem;letter-spacing:0.04em;color:var(--ink-soft)}@media (min-width: 1100px){.book-foot{margin-left:var(--rail-w)}body.rail-closed .book-foot{margin-left:0}}.book-foot p{margin:0}.book-foot nav{display:flex;gap:1.1rem}.book-foot a{color:var(--ink-soft);text-decoration:none}.book-foot a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.lightbox-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.25s ease-out, visibility 0.25s ease-out;pointer-events:none}.lightbox-modal.active{opacity:1;visibility:visible;pointer-events:auto}.lightbox-overlay{position:absolute;inset:0;background:rgba(12,13,16,0.92);cursor:pointer}.lightbox-content{position:relative;z-index:1;max-width:92vw;max-height:92vh;padding:1rem}.lightbox-image-full{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;cursor:zoom-out;background:#fff;padding:0.5rem;box-shadow:0 18px 50px -12px rgba(0,0,0,0.6)}.material-symbols-rounded{vertical-align:middle;line-height:1;display:inline-flex;align-items:center}@media print{.book-masthead,.book-rail,.book-scrim,.book-pager,.book-foot,.lightbox-modal{display:none !important}.book-main{margin-left:0}body.book{background:#fff;color:#000;font-size:11pt}}
