:root{--font-book: "Source Serif 4", "Source Han Serif TC", "Source Han Serif TW", "Noto Serif CJK TC", "Noto Serif TC", "Songti TC", "PMingLiU", serif;--font-book-ui: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--book-sidebar-width: 18rem;--book-content-width: 46rem;--book-font-adjust: 0rem;--book-toc-adjust: 0rem}html[data-book-size="-2"]{--book-font-adjust: -.14rem;--book-toc-adjust: -.055rem}html[data-book-size="-1"]{--book-font-adjust: -.075rem;--book-toc-adjust: -.025rem}html[data-book-size="1"]{--book-font-adjust: .1rem;--book-toc-adjust: .035rem}html[data-book-size="2"]{--book-font-adjust: .2rem;--book-toc-adjust: .075rem}body.book-page{-webkit-text-size-adjust:100%}html.book-toc-open,html.book-toc-open body{overflow:hidden}.book-shell{width:min(80rem,calc(100% - 3.5rem));margin:0 auto;display:grid;grid-template-columns:minmax(15.5rem,var(--book-sidebar-width)) minmax(0,var(--book-content-width));justify-content:center;gap:clamp(2.75rem,4vw,4.75rem);align-items:start}.book-sidebar{position:sticky;top:0;align-self:start;min-width:0;height:100dvh}.book-sidebar-inner{height:100%;padding:2.5rem 0 1.5rem;display:flex;flex-direction:column;min-height:0}.book-back,.book-kicker,.book-toc-heading,.book-reader-label,.book-reader-controls,.book-toc-mobile-toggle{font-family:var(--font-book-ui)}.book-back{width:fit-content;margin-bottom:1.55rem;color:var(--color-text-muted);font-size:.75rem;letter-spacing:.03em;text-decoration:none}.book-back:hover{color:var(--color-accent)}.book-reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 0 .8rem;margin-bottom:.85rem;border-bottom:1px solid var(--color-rule)}.book-reader-label{color:var(--color-text-faint);font-size:.68rem;font-weight:500;letter-spacing:.08em}.book-reader-controls{display:inline-flex;align-items:center;gap:.16rem;padding:.15rem;border:1px solid color-mix(in srgb,var(--color-rule) 82%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-bg) 94%,white)}.book-reader-controls button{display:grid;place-items:center;min-width:2rem;height:1.9rem;padding:0 .38rem;border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.72rem;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,color .15s ease}.book-reader-controls button:hover,.book-reader-controls button:focus-visible{background:color-mix(in srgb,var(--color-rule) 36%,transparent);color:var(--color-text);outline:none}.book-reader-controls button[aria-pressed=true]{color:var(--color-accent)}.book-reader-controls button:disabled{opacity:.32;cursor:default}.book-reader-controls-mobile{display:none}.book-toc{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.book-toc-heading{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 .72rem;margin-bottom:.38rem;border-bottom:1px solid var(--color-rule);color:var(--color-text-muted);font-size:calc(.75rem + var(--book-toc-adjust));font-weight:500;letter-spacing:.08em}.book-toc-heading-en{color:var(--color-text-faint);font-size:.82em;letter-spacing:.12em}.book-toc-tree{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.2rem .7rem 2rem 0;scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent}.book-toc-group,.book-toc-root{border-left:1px solid transparent}.book-toc-group+.book-toc-group,.book-toc-group+.book-toc-root,.book-toc-root+.book-toc-group,.book-toc-root+.book-toc-root{margin-top:.1rem}.book-toc-cover{margin-bottom:.1rem}.book-toc-title-page{margin-bottom:.35rem;padding-bottom:.35rem;border-bottom:1px solid color-mix(in srgb,var(--color-rule) 70%,transparent)}.book-toc-root-row{display:grid;grid-template-columns:1.15rem minmax(0,1fr);align-items:start}.book-toc-expander{display:grid;place-items:center;width:1.15rem;height:2.15rem;border:0;background:transparent;color:var(--color-text-faint);font-family:var(--font-book-ui);font-size:.95rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.book-toc-expander span{transform:rotate(0);transition:transform .16s ease,color .16s ease}.book-toc-group[data-expanded=true] .book-toc-expander span{transform:rotate(90deg)}.book-toc-expander:hover,.book-toc-expander:focus-visible{color:var(--color-accent);outline:none}.book-toc-root>a,.book-toc-root-row>a,.book-toc-children>a{display:block;color:var(--color-text-muted);font-family:var(--font-book);text-decoration:none;transition:color .15s ease;-webkit-tap-highlight-color:transparent}.book-toc-root>a{padding:.38rem 0 .38rem 1.15rem;font-size:calc(.84rem + var(--book-toc-adjust));font-weight:500;line-height:1.5}.book-toc-root-row>a{padding:.38rem 0;font-size:calc(.84rem + var(--book-toc-adjust));font-weight:500;line-height:1.5}.book-toc-children{position:relative;max-height:80rem;overflow:hidden;margin:.08rem 0 .45rem 1.15rem;padding-left:.85rem;border-left:1px solid var(--color-rule);opacity:1;transition:max-height .2s ease,opacity .16s ease,margin .2s ease}.book-toc-group[data-expanded=false] .book-toc-children{max-height:0;margin-top:0;margin-bottom:0;opacity:0}.book-toc-children>a{padding:.31rem 0;font-size:calc(.775rem + var(--book-toc-adjust));line-height:1.48}.book-toc a[aria-current=location]{color:var(--color-accent)}.book-main{min-width:0;padding:clamp(3.5rem,5vw,4.2rem) 0 7rem}.book-kicker{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:2.25rem;color:var(--color-text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.book-kicker a{color:var(--color-text-muted);text-decoration:none}.book-kicker a:hover{color:var(--color-accent)}.book-cover-figure{width:100%;min-height:min(70dvh,48rem);margin:0 auto clamp(2.5rem,5vh,4rem);display:grid;place-items:center;scroll-margin-top:2.4rem}.book-cover-image{display:block;width:auto;height:auto;max-width:100%;max-height:min(80dvh,54rem);aspect-ratio:2 / 3;object-fit:contain;border:1px solid color-mix(in srgb,var(--color-rule) 85%,transparent);border-radius:.3rem;background:color-mix(in srgb,var(--color-bg) 92%,white);box-shadow:0 18px 42px #18140e1a,0 3px 10px #18140e0f}.book-title-page{min-height:min(72dvh,46rem);margin:0 auto clamp(4.5rem,8vh,7rem);padding:clamp(4.5rem,9vh,7rem) clamp(1rem,4vw,2.5rem) clamp(3.5rem,7vh,5.5rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--font-book);scroll-margin-top:2.4rem}.book-title-page-kind{margin:0 0 2.1rem;color:var(--color-text-faint);font-family:var(--font-book-ui);font-size:.72rem;font-weight:500;letter-spacing:.18em}.book-title-page h1{margin:0;max-width:42rem;font-family:var(--font-book);font-weight:600;color:var(--color-text)}.book-title-page-main,.book-title-page-subtitle{display:block}.book-title-page-main{font-size:clamp(2.15rem,5vw,3.45rem);line-height:1.25;letter-spacing:.045em}.book-title-page-subtitle{margin-top:1.15rem;font-size:clamp(1.18rem,2.5vw,1.7rem);line-height:1.55;letter-spacing:.035em}.book-title-page-rule{width:min(8rem,30vw);margin:clamp(2.5rem,5vh,3.6rem) 0 2.4rem;border-top:1px solid var(--color-rule)}.book-title-page-author,.book-title-page-affiliation,.book-title-page-license{margin:0}.book-title-page-author{font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.75}.book-title-page-affiliation{margin-top:.25rem;color:var(--color-text-muted);font-size:.92rem;line-height:1.7}.book-title-page-license{margin-top:clamp(2.8rem,5vh,4rem);color:var(--color-text-faint);font-family:var(--font-book-ui);font-size:.72rem;line-height:1.7;letter-spacing:.015em}.book-content>h1:first-child,.book-content>h1:first-child+p{display:none}.book-content{font-family:var(--font-book);font-size:clamp(calc(1rem + var(--book-font-adjust)),calc(.94rem + .24vw + var(--book-font-adjust)),calc(1.125rem + var(--book-font-adjust)));font-optical-sizing:auto;font-kerning:normal;font-synthesis:none;line-height:1.9;line-break:strict;word-break:normal;color:var(--color-text);overflow-wrap:break-word}.book-content>h1:first-child{max-width:42rem;margin:0 0 1rem;font-family:var(--font-book);font-size:2.35em;font-weight:600;line-height:1.28;letter-spacing:.015em;text-align:start}.book-content>h1:first-child+p{margin-bottom:4rem;color:var(--color-text-muted);font-size:.86em;line-height:1.8;text-align:start}.book-content h2,.book-content h3,.book-content h4{scroll-margin-top:2.4rem;font-family:var(--font-book);color:var(--color-text);text-align:start}.book-content h2{margin:5.2rem 0 1.55rem;padding-top:1.25rem;border-top:1px solid var(--color-rule);font-size:1.58em;font-weight:600;line-height:1.45;letter-spacing:.01em}.book-content h2#synopsis{margin-top:2.5rem}.book-content h2#synopsis:after{content:"概要";margin-inline-start:.55em;color:var(--color-text-muted);font-family:var(--font-book);font-size:.62em;font-weight:500;letter-spacing:.05em;white-space:nowrap}.book-content h3{margin:3.2rem 0 1rem;font-size:1.19em;font-weight:600;line-height:1.55}.book-content h4{margin:2.35rem 0 .78rem;font-size:1.02em;font-weight:600;line-height:1.62}.book-content p{margin:0 0 1.3rem;text-align:justify;text-justify:inter-character}.book-content strong{font-weight:600}.book-content em{font-style:italic}.book-content a{color:var(--color-text);text-decoration-color:var(--color-link-underline);text-decoration-thickness:1px;text-underline-offset:3px}.book-content a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.book-content blockquote{margin:1.9rem 0;padding:.15rem 0 .15rem 1.4rem;border-left:2px solid var(--color-rule);color:#393733;font-style:normal}.book-content blockquote p:last-child{margin-bottom:0}.book-content ul,.book-content ol{margin:1rem 0 1.5rem 1.6rem}.book-content li{padding-left:.2rem;margin:.35rem 0}.book-content hr{border:0;border-top:1px solid var(--color-rule);margin:3rem 0}.book-content table{width:100%;margin:1.8rem 0 2rem;border-collapse:collapse;font-size:.88em;line-height:1.62}.book-content th,.book-content td{padding:.62rem .72rem;border-bottom:1px solid var(--color-rule);text-align:start;vertical-align:top}.book-content th{font-weight:600}.book-content code{font-family:var(--font-mono);font-size:.82em}.book-content sup{line-height:0}.book-content sup a{color:var(--color-accent);font-family:var(--font-book-ui);font-size:.66em;text-decoration:none}.book-content .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.book-content [data-footnotes],.book-content .footnotes{margin-top:4rem;padding-top:1.2rem;border-top:1px solid var(--color-rule);color:var(--color-text-muted);font-size:.82em;line-height:1.72}.book-content [data-footnotes] ol,.book-content .footnotes ol{margin-left:1.35rem}.book-content [data-footnotes] li,.book-content .footnotes li{padding-left:.3rem;margin:0 0 .9rem}.book-content [data-footnotes] p,.book-content .footnotes p{margin-bottom:.45rem;text-align:start}.book-content [data-footnote-backref]{margin-left:.25rem;color:var(--color-text-faint);text-decoration:none}.book-content h2#參考書目~p{padding-left:1.6rem;text-indent:-1.6rem;margin-bottom:.72rem;font-size:.9em;line-height:1.72;text-align:start}.book-footer{margin-top:5rem;font-family:var(--font-book-ui);font-size:.72rem}.book-footer hr{border:0;border-top:1px solid var(--color-rule);margin-bottom:1.35rem}.book-footer a{color:var(--color-text-muted);text-decoration:none}.book-footer a:hover{color:var(--color-accent)}.book-mobile-toolbar,.book-toc-overlay{display:none}@media (min-width: 1400px){:root{--book-sidebar-width: 18.5rem;--book-content-width: 47rem}}@media (max-width: 1080px){.book-shell{width:min(71rem,calc(100% - 2.5rem));grid-template-columns:15.5rem minmax(0,43.5rem);gap:2.5rem}}@media (max-width: 900px){body.book-page .lab-mark{display:none}.book-shell{display:block;width:min(47rem,calc(100% - clamp(2.5rem,7vw,5rem)))}.book-main{padding-top:calc(5rem + env(safe-area-inset-top))}.book-sidebar{position:fixed;z-index:90;top:0;left:0;width:min(22rem,88vw);height:100dvh;transform:translate(-102%);background:var(--color-bg);border-right:1px solid var(--color-rule);box-shadow:0 0 2.5rem #221d1414;transition:transform .24s cubic-bezier(.22,1,.36,1)}.book-sidebar-inner{height:100%;padding:calc(1.35rem + env(safe-area-inset-top)) 1.3rem calc(1.25rem + env(safe-area-inset-bottom)) 1.45rem}.book-toc-open .book-sidebar{transform:translate(0)}.book-reader-toolbar{display:none}.book-mobile-toolbar{display:flex;position:fixed;z-index:70;top:0;left:0;right:0;min-height:calc(3.55rem + env(safe-area-inset-top));padding:calc(.62rem + env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .62rem max(1rem,env(safe-area-inset-left));align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid color-mix(in srgb,var(--color-rule) 72%,transparent);background:color-mix(in srgb,var(--color-bg) 91%,transparent);backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}.book-toc-mobile-toggle{display:flex;align-items:center;gap:.48rem;min-height:2.55rem;padding:0 .72rem;border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:.78rem;font-weight:500;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.book-toc-mobile-toggle:hover,.book-toc-mobile-toggle:focus-visible{background:color-mix(in srgb,var(--color-rule) 35%,transparent);color:var(--color-text);outline:none}.book-reader-controls-mobile{display:inline-flex}.book-reader-controls-mobile button{min-width:2.45rem;height:2.35rem;font-size:.78rem}.book-toc-overlay{position:fixed;z-index:80;inset:0;width:100%;height:100%;border:0;background:#14120e47;-webkit-tap-highlight-color:transparent}.book-toc-open .book-toc-overlay{display:block}.book-content h2,.book-content h3,.book-content h4{scroll-margin-top:5rem}}@media (max-width: 640px){.book-shell{width:calc(100% - 2.2rem)}.book-main{padding-bottom:4.5rem}.book-kicker{margin-bottom:1.8rem}.book-cover-figure{width:100%;min-height:min(68dvh,42rem);margin-bottom:2.7rem;scroll-margin-top:5rem}.book-cover-image{max-width:min(100%,32rem);max-height:calc(100dvh - 7.25rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.book-title-page{min-height:calc(100dvh - 5.5rem - env(safe-area-inset-top));margin-bottom:4rem;padding:4.5rem .7rem 3.5rem;scroll-margin-top:5rem}.book-title-page-kind{margin-bottom:1.75rem}.book-title-page-license{max-width:22rem}.book-content{font-size:clamp(calc(1rem + var(--book-font-adjust)),calc(.96rem + .36vw + var(--book-font-adjust)),calc(1.08rem + var(--book-font-adjust)));line-height:1.88}.book-content>h1:first-child{font-size:2em;line-height:1.34}.book-content>h1:first-child+p{margin-bottom:3.15rem}.book-content h2{margin-top:4.2rem;font-size:1.47em}.book-content h3{margin-top:2.75rem;font-size:1.16em}.book-content h4{font-size:1em}.book-content table{display:block;max-width:calc(100vw - 2.2rem);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;white-space:normal}}@media (pointer: coarse){.book-toc-root>a,.book-toc-root-row>a,.book-toc-children>a{padding-top:.48rem;padding-bottom:.48rem}.book-toc-expander{width:1.35rem;height:2.5rem}}@media (prefers-reduced-motion: reduce){.book-sidebar,.book-toc-children,.book-toc-expander span,.book-reader-controls button{transition:none!important}}@media print{.book-sidebar,.book-mobile-toolbar,.book-toc-overlay,.book-kicker,.lab-mark,.book-footer{display:none!important}.book-shell{display:block;width:auto}.book-main{max-width:none;padding:0}.book-content{font-size:11pt;line-height:1.75}}
