@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--sans);--default-mono-font-family:var(--mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-3{top:calc(var(--spacing) * 3)}.top-5{top:calc(var(--spacing) * 5)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.fill-rule{fill:var(--rule)}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow,.shadow\/canary{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root,:root[data-theme=light]{--bg:#fafafa;--ink:#1a1a1a;--ink-2:#3a3a3a;--ink-3:#6b6b6b;--rule:#9a9a9a;--border:#c0bfba;--accent:#c95f3d;--code-bg:#f0efeb;--row-hover:#f5f2ec}:root[data-theme=dark]{--bg:#1a1a1a;--ink:#fafafa;--ink-2:#b8b8b8;--ink-3:#8a8a8a;--rule:#4a4a4a;--border:#3a3a3a;--accent:#e8835b;--code-bg:#2a2a2a;--row-hover:#232323}:root{--content-w:680px;--reading-px:32px;--serif:var(--font-playfair), var(--font-source-serif), var(--font-noto-serif-sc), "Playfair Display", "Source Serif 4", "Noto Serif SC", Georgia, serif;--text:var(--font-source-serif), var(--font-noto-serif-sc), "Source Serif 4", "Noto Serif SC", Georgia, serif;--sans:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;--mono:var(--font-jetbrains), "JetBrains Mono", "SF Mono", Consolas, monospace}@media (max-width:760px){:root{--reading-px:24px}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:18px;line-height:1.78;transition:background-color .2s,color .2s}@media (max-width:760px){html,body{font-size:17px}}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.prose{max-width:var(--content-w);padding:0 var(--reading-px);text-align:left;margin:0 auto}.prose p{margin:0 0 22px}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic;font-family:var(--serif)}.prose a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-thickness .12s}.prose a:hover{text-decoration-thickness:2px}.prose code{font-family:var(--mono);background:var(--code-bg);border-radius:2px;padding:2px 6px;font-size:.88em}.stop{color:var(--accent);font-style:normal}.mono-label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.mono-label-wide{letter-spacing:.3em}.mono-label .accent{color:var(--accent)}:root[data-lang=zh] .lang-en,:root[data-lang=zh] [lang=en],:root[data-lang=en] .lang-zh,:root[data-lang=en] [lang^=zh]{display:none!important}:root .lang-both .lang-zh,:root .lang-both .lang-en,:root .lang-both [lang]{display:inline!important}.v3-header__lang{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;min-width:18px;padding:0;font-size:11px;font-weight:600;transition:color .12s}.v3-header__lang:hover{color:var(--accent)}.v3-cover{max-width:var(--content-w);padding:0 var(--reading-px);margin:0 auto}.v3-cover__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 32px;font-size:11px;font-weight:600}.v3-cover__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 28px;font-size:52px;font-style:italic;font-weight:500;line-height:1.08}.v3-cover__lede{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;margin:0 0 40px;font-size:22px;font-style:italic;font-weight:400;line-height:1.55}.v3-cover__byline{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0 0 32px;font-size:11px;font-weight:600}.v3-cover__rule{border:0;border-top:.5px solid var(--rule);margin:0}@media (max-width:760px){.v3-cover__title{font-size:38px}.v3-cover__lede{font-size:19px}}.v3-section{max-width:var(--content-w);padding:0 var(--reading-px);margin:96px auto 48px}.v3-section__number{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 56px;font-size:11px;font-weight:600}.v3-section__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0;font-size:36px;font-style:italic;font-weight:500;line-height:1.15}.v3-h3{max-width:var(--content-w);padding:0 var(--reading-px);font-family:var(--serif);color:var(--ink);text-wrap:balance;margin:48px auto 22px;font-size:22px;font-style:italic;font-weight:600;line-height:1.3}.v3-divider{font-family:var(--serif);letter-spacing:.6em;color:var(--accent);-webkit-user-select:none;user-select:none;justify-content:center;margin:96px 0;font-size:24px;font-style:italic;display:flex}.v3-divider:before{content:". . ."}.v3-quote{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-quote__inner{border-left:1.5px solid var(--ink);padding-left:28px}.v3-quote__text{font-family:var(--serif);color:var(--ink);text-wrap:pretty;margin:0;font-size:22px;font-style:italic;font-weight:500;line-height:1.5}.v3-quote__source{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 0;font-size:11px;font-weight:600}.v3-codeblock{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-codeblock__frame{border-left:1.5px solid var(--ink);padding-left:24px;position:relative}.v3-codeblock__pre{font-family:var(--mono);color:var(--ink);white-space:pre;margin:0;font-size:14px;line-height:1.85;overflow-x:auto}.v3-codeblock__pre .kw{color:var(--ink);font-weight:600}.v3-codeblock__pre .com{color:var(--ink-3);font-style:italic}.v3-codeblock__pre .str,.v3-codeblock__pre .num{color:var(--ink-2)}.v3-codeblock__pre .stop{color:var(--accent)}.v3-codeblock__caption{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);text-align:right;margin:14px 0 0;font-size:10px;font-weight:600}.v3-codeblock__copy{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:10px;font-weight:600;transition:color .12s;position:absolute;top:0;right:0}.v3-codeblock__copy:hover{color:var(--accent)}.v3-tabs{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-tabs__bar{border-bottom:.5px solid var(--border);flex-wrap:wrap;column-gap:32px;display:flex}.v3-tab{font-family:var(--mono);letter-spacing:.15em;color:var(--ink-3);cursor:pointer;background:0 0;border:0;margin-bottom:-.5px;padding:14px 0;font-size:11px;font-weight:600;transition:color .12s;position:relative}.v3-tab:hover{color:var(--accent)}.v3-tab.is-active{color:var(--ink)}.v3-tab.is-active:after{content:"";background:var(--accent);height:1.5px;position:absolute;bottom:0;left:0;right:0}.v3-tab:focus-visible{color:var(--accent);outline:0}.v3-tabs--upper .v3-tab{text-transform:uppercase;letter-spacing:.25em}.v3-tabs__panels{padding-top:0}.v3-tabs__panel{padding-top:22px;display:none}.v3-tabs__panel.is-active{display:block}.v3-tabs__panel>.v3-codeblock{max-width:none;margin:0;padding:0}.v3-tabs__panel>.v3-codeblock__caption{margin-top:12px}.v3-list{max-width:var(--content-w);padding:0 var(--reading-px);margin:22px auto}.v3-list__item{grid-template-columns:32px 1fr;column-gap:14px;margin-bottom:14px;line-height:1.78;display:grid}.v3-list__marker{font-family:var(--mono);color:var(--accent);padding-top:2px;font-size:14px;font-weight:600}.v3-list--ul .v3-list__marker{letter-spacing:0;width:24px}.v3-list__body{font-family:var(--text);font-size:18px}.v3-figure{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-figure__img{background:var(--code-bg);border:.5px solid var(--border);width:100%}.v3-figure__caption{font-family:var(--serif);color:var(--ink-3);text-align:center;margin:14px 0 0;font-size:14px;font-style:italic}.v3-kicker{max-width:var(--content-w);padding:40px var(--reading-px) 0 var(--reading-px);border-top:.5px solid var(--ink);margin:96px auto 0}.v3-kicker__text{font-family:var(--serif);color:var(--ink);text-wrap:balance;white-space:pre-line;margin:0 0 32px;font-size:30px;font-style:italic;font-weight:500;line-height:1.3}.v3-kicker__sig{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:600}@media (max-width:760px){.v3-kicker__text{font-size:24px}}.v3-header{z-index:50;background:0 0;transition:background-color .2s,border-color .2s;position:sticky;top:0}.v3-header.is-scrolled{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.v3-header.is-scrolled{background:color-mix(in oklab, var(--bg) 88%, transparent)}}.v3-header.is-scrolled{-webkit-backdrop-filter:saturate(140%)blur(8px);border-bottom:.5px solid var(--border)}.v3-header__inner{max-width:1080px;padding:22px var(--reading-px);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.v3-header__brand,.v3-header__nav a,.v3-header__theme{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:600;transition:color .12s}.v3-header__brand:hover,.v3-header__nav a:hover,.v3-header__theme:hover{color:var(--accent)}.v3-header__nav{align-items:center;gap:28px;display:flex}.v3-header__theme{letter-spacing:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:inline-flex}.v3-footer{max-width:1080px;padding:22px var(--reading-px);border-top:.5px solid var(--ink);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin:96px auto 0;font-size:11px;font-weight:600;display:flex}.v3-footer__pages{color:var(--ink-3)}.v3-footer__pages .accent{color:var(--accent)}.v3-footer__right{gap:22px;display:flex}.v3-footer__right a:hover{color:var(--accent)}.v3-progress{background:var(--accent);z-index:100;width:0%;height:1px;transition:width 80ms linear;position:fixed;top:0;left:0}.v3-page{opacity:1;transition:opacity .15s}.v3-page.is-fading{opacity:0}.asset-frame{position:relative;overflow:hidden}.asset-frame__image{object-fit:cover}.asset-frame--contain .asset-frame__image{object-fit:contain}.cover-art{--cover-pad:34px;--cover-logo-width:var(--cover-logo-size);--cover-logo-size:72px;--cover-thumbnail-logo-size:56px;--cover-combine-icon-size:32px;--cover-combine-text-size:13px;--cover-combine-gap:5px;--cover-combine-text-color:var(--ink);--cover-logo-top:40px;--cover-title-top:36px;--cover-title-size:25px;--cover-subtitle-size:12px;--cover-brand-size:10px;--cover-sig-size:8px;width:100%;height:100%;color:var(--ink);background:var(--bg);position:relative}.cover-art__inner{box-sizing:border-box;z-index:1;width:100%;height:100%;padding:var(--cover-pad);flex-direction:column;align-items:flex-start;display:flex;position:relative}.cover-art__tag{display:var(--cover-tag-display,block);max-width:100%;font-family:var(--mono);letter-spacing:0;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:600;line-height:1.2;overflow:hidden}.cover-art__rule{display:var(--cover-rule-display,block);background:var(--cover-accent);width:36px;height:1px;margin-top:13px}.cover-art__logo{margin-top:var(--cover-logo-top);width:var(--cover-logo-width);height:var(--cover-logo-size);color:var(--cover-logo-color);justify-content:center;align-items:center;display:flex}.cover-art__brand-mark{font-family:var(--mono);font-size:calc(var(--cover-logo-size) * .42);letter-spacing:0;color:var(--cover-logo-color);font-weight:700;line-height:1}.cover-art__brand{display:var(--cover-brand-display,block);max-width:100%;font-family:var(--mono);font-size:var(--cover-brand-size);letter-spacing:0;color:var(--ink-3);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-top:14px;font-weight:600;line-height:1.2;overflow:hidden}.cover-art__titles{display:var(--cover-title-display,block);margin-top:var(--cover-title-top);min-width:0}.cover-art__title{-webkit-line-clamp:2;max-width:100%;font-family:var(--serif);font-size:var(--cover-title-size);letter-spacing:0;color:var(--ink);-webkit-box-orient:vertical;font-style:normal;font-weight:500;line-height:1.14;display:-webkit-box;overflow:hidden}.cover-art__subtitle{display:var(--cover-subtitle-display,-webkit-box);-webkit-line-clamp:2;max-width:100%;font-family:var(--serif);font-size:var(--cover-subtitle-size);letter-spacing:0;color:var(--ink-3);-webkit-box-orient:vertical;margin-top:12px;font-style:italic;line-height:1.35;overflow:hidden}.cover-art__sig{display:var(--cover-sig-display,block);max-width:100%;font-family:var(--mono);font-size:var(--cover-sig-size);letter-spacing:0;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-weight:600;line-height:1.2;overflow:hidden}.book-cover-logo,.book-cover-logo__mark,.book-cover-logo__combined{justify-content:center;align-items:center;display:flex}.book-cover-logo{width:100%;height:100%}.book-cover-logo__mark{display:var(--cover-mark-display,flex)}.book-cover-logo__combined{display:var(--cover-combine-display,none);gap:var(--cover-combine-gap);color:var(--cover-combine-text-color)}.book-cover-logo__warp-symbol{--cover-warp-logo-width:var(--cover-logo-size);--cover-warp-image-size:calc(var(--cover-logo-size) * 3.02);--cover-warp-image-top:calc(var(--cover-logo-size) * -1.01);--cover-warp-image-left:calc(var(--cover-logo-size) * -.15);width:var(--cover-warp-logo-width);height:var(--cover-logo-size);flex:none;display:block;position:relative;overflow:hidden}.book-cover-logo__warp-image{width:var(--cover-warp-image-size);height:var(--cover-warp-image-size);max-width:none;top:var(--cover-warp-image-top);left:var(--cover-warp-image-left);-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute}.featured__cover .cover-art,.book-detail__cover .cover-art{--cover-logo-width:min(100%, 224px);--cover-logo-size:56px;--cover-combine-icon-size:56px;--cover-combine-text-size:22px;--cover-combine-gap:9px;--cover-logo-top:56px;--cover-title-top:52px;--cover-large-title-size:28px;--cover-title-size:var(--cover-large-title-size);--cover-subtitle-size:15px;--cover-brand-display:none;--cover-mark-display:none;--cover-combine-display:flex}.book-detail__cover .cover-art{--cover-pad:38px;--cover-logo-top:70px;--cover-title-top:70px;--cover-large-title-size:46px;--cover-subtitle-size:17px}.featured__cover .cover-art:after,.book-detail__cover .cover-art:after{content:"";background-image:radial-gradient(var(--cover-accent) .7px, transparent .8px);width:42%;height:34%;position:absolute;bottom:8%;right:5%}@supports (color:color-mix(in lab, red, red)){.featured__cover .cover-art:after,.book-detail__cover .cover-art:after{background-image:radial-gradient(color-mix(in oklab, var(--cover-accent) 28%, transparent) .7px, transparent .8px)}}.featured__cover .cover-art:after,.book-detail__cover .cover-art:after{opacity:.55;pointer-events:none;background-size:9px 9px}.featured__cover .cover-art__logo,.book-detail__cover .cover-art__logo{justify-content:flex-start}.featured__cover .cover-art__title,.book-detail__cover .cover-art__title{-webkit-line-clamp:3;line-height:1.04}.featured__cover .cover-art__subtitle,.book-detail__cover .cover-art__subtitle{margin-top:22px}.featured__cover .cover-art__subtitle:before,.book-detail__cover .cover-art__subtitle:before{content:"";background:var(--cover-accent);width:34px;height:2px;margin:0 0 18px;display:block}.featured__cover .cover-art__sig,.book-detail__cover .cover-art__sig{border-top:.5px solid var(--border);width:100%;padding-top:18px}.featured__cover .book-cover-logo__warp-symbol,.book-detail__cover .book-cover-logo__warp-symbol{--cover-warp-logo-width:calc(var(--cover-logo-size) * 3.42);--cover-warp-image-size:calc(var(--cover-logo-size) * 3.79);--cover-warp-image-top:calc(var(--cover-logo-size) * -1.39);--cover-warp-image-left:calc(var(--cover-logo-size) * -.19)}.book-row__cover .cover-art,.lib-row__cover .cover-art,.next-book__cover .cover-art{--cover-pad:10px;--cover-logo-width:100%;--cover-logo-size:var(--cover-thumbnail-logo-size);--cover-combine-icon-size:var(--cover-thumbnail-logo-size);--cover-combine-text-size:14px;--cover-logo-top:0;--cover-title-top:12px;--cover-title-size:11px;--cover-brand-size:8px;--cover-tag-display:none;--cover-rule-display:none;--cover-brand-display:none;--cover-mark-display:none;--cover-combine-display:flex;--cover-title-display:none;--cover-subtitle-display:none;--cover-sig-display:none}.book-row__cover .cover-art__inner,.lib-row__cover .cover-art__inner,.next-book__cover .cover-art__inner{justify-content:center;align-items:center}.book-row__cover .cover-art__brand,.lib-row__cover .cover-art__brand,.next-book__cover .cover-art__brand{text-align:center;margin-top:9px}.next-book__cover .cover-art{--cover-thumbnail-logo-size:42px;--cover-combine-icon-size:42px;--cover-brand-size:6px}.next-book__cover .book-cover-logo__combined>:nth-child(2){display:none}@media (max-width:760px){.book-row__cover .cover-art,.lib-row__cover .cover-art{--cover-thumbnail-logo-size:42px;--cover-combine-icon-size:42px;--cover-brand-size:6px}.book-row__cover .book-cover-logo__combined>:nth-child(2),.lib-row__cover .book-cover-logo__combined>:nth-child(2){display:none}.book-detail__cover .cover-art{--cover-pad:34px;--cover-logo-top:56px;--cover-title-top:54px;--cover-large-title-size:36px;--cover-subtitle-size:15px}}.book-detail{max-width:1080px;padding:100px var(--reading-px) 0 var(--reading-px);grid-template-columns:480px 1fr;align-items:start;gap:80px;margin:0 auto;display:grid}@media (max-width:1080px){.book-detail{grid-template-columns:1fr;gap:48px;padding-top:64px}}.book-detail__cover{aspect-ratio:3/4;background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 8px, var(--bg) 8px, var(--bg) 9px), var(--code-bg);border:.5px solid var(--border);justify-content:center;align-items:center;width:100%;display:flex}.book-detail__cover .asset-frame__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);background:var(--bg);border:.5px solid var(--border);padding:6px 12px;font-size:11px;font-weight:600}.book-detail__meta{padding-top:12px}.book-detail__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 32px;font-size:11px;font-weight:600}.book-detail__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 28px;font-size:60px;font-style:italic;font-weight:500;line-height:1.05}@media (max-width:760px){.book-detail__title{font-size:42px}}.book-detail__lede{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;margin:0 0 40px;font-size:22px;font-style:italic;line-height:1.55}.book-detail__byline{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0 0 40px;font-size:11px;font-weight:600}.book-detail__actions{gap:28px;display:flex}.book-detail__btn{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;background:0 0;border:0;padding:0 0 2px;font-size:11px;font-weight:600;text-decoration-thickness:1px;transition:text-decoration-thickness .12s,color .12s}.book-detail__btn:hover{color:var(--accent);text-decoration-thickness:2px}.toc{max-width:var(--content-w);padding:0 var(--reading-px);margin:0 auto}.toc__row{border-bottom:.5px solid var(--border);color:inherit;grid-template-columns:56px 1fr auto;align-items:baseline;column-gap:24px;margin-left:-12px;padding:18px 12px;text-decoration:none;transition:background-color .12s,transform .2s;display:grid}.toc__row:first-child{border-top:.5px solid var(--border)}.toc__row:hover{background:var(--row-hover);transform:translate(4px)}.toc__row:hover .toc__num{color:var(--accent)}.toc__num{font-family:var(--mono);color:var(--ink-3);letter-spacing:.05em;font-size:14px;font-weight:600;transition:color .12s}.toc__title{font-family:var(--text);color:var(--ink);font-size:18px;line-height:1.4}.toc__time{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.ch-nav{max-width:var(--content-w);padding:32px var(--reading-px);border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:48px auto 0;font-size:11px;font-weight:600;display:grid}.ch-nav a{transition:color .12s}.ch-nav a:hover{color:var(--accent)}.ch-nav__prev{text-align:left}.ch-nav__index{text-align:center}.ch-nav__next{text-align:right}.discussion{max-width:var(--content-w);padding:48px var(--reading-px) 0 var(--reading-px);margin:0 auto}.discussion__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px;font-size:11px;font-weight:600}.discussion__title{font-family:var(--serif);color:var(--ink);margin:0 0 28px;font-size:22px;font-style:italic;font-weight:600}.discussion__box{border:.5px dashed var(--border);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:32px;font-size:11px;font-weight:600}.discussion__retry{color:inherit;cursor:pointer;text-transform:uppercase;font:inherit;text-underline-offset:6px;background:0 0;border:0;margin-top:12px;padding:0;text-decoration:underline;text-decoration-thickness:1px}.discussion__retry:hover,.discussion__retry:focus-visible{color:var(--accent);text-decoration-thickness:2px}.giscus{margin-top:16px;padding-top:0}.giscus__reactions{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.giscus__reaction{font-family:var(--mono);letter-spacing:.15em;color:var(--ink-3);border:.5px solid var(--border);cursor:pointer;background:0 0;padding:6px 12px;font-size:11px;font-weight:600;transition:color .12s,border-color .12s}.giscus__reaction span{font-family:var(--text);margin-right:4px}.giscus__reaction:hover{color:var(--accent);border-color:var(--accent)}.giscus__reaction--add{font-family:var(--text);padding:6px 14px;font-size:13px}.giscus__meta{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);border-bottom:.5px solid var(--border);margin:0 0 24px;padding-bottom:18px;font-size:11px;font-weight:600}.giscus__comment{border-bottom:.5px solid var(--border);padding:24px 0}.giscus__comment-head{align-items:baseline;gap:14px;margin:0 0 12px;display:flex}.giscus__avatar{background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 3px, var(--bg) 3px, var(--bg) 4px), var(--code-bg);border:.5px solid var(--border);align-self:center;width:24px;height:24px;display:inline-block}.giscus__author{font-family:var(--mono);color:var(--ink);letter-spacing:.05em;font-size:13px;font-weight:600}.giscus__author:before{content:""}.giscus__time{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.giscus__body{font-family:var(--text);color:var(--ink-2);margin:0;padding-left:38px;font-size:17px;line-height:1.75}.giscus__body code{font-family:var(--mono);background:var(--code-bg);border-radius:2px;padding:2px 6px;font-size:.88em}.giscus__composer{margin-top:32px}.giscus__composer-label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;font-size:11px;font-weight:600;display:block}.giscus__input{border:.5px solid var(--border);background:var(--bg);width:100%;font-family:var(--text);color:var(--ink);resize:vertical;outline:0;padding:16px;font-size:16px;line-height:1.6;transition:border-color .12s}.giscus__input:focus{border-color:var(--accent)}.giscus__input::placeholder{color:var(--ink-3);font-style:italic;font-family:var(--serif)}.giscus__composer-foot{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.giscus__hint{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.giscus__btn{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;background:0 0;border:0;padding:6px 0;font-size:11px;font-weight:600;text-decoration-thickness:1px;transition:color .12s,text-decoration-thickness .12s}.giscus__btn:hover{color:var(--accent);text-decoration-thickness:2px}.section-head{max-width:var(--content-w);padding:0 var(--reading-px);margin:0 auto 28px}.section-head__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:11px;font-weight:600}.section-head__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:36px;font-style:italic;font-weight:500}.authors-note{max-width:var(--content-w);padding:0 var(--reading-px);margin:0 auto}.authors-note p{margin:0 0 22px}@media print{@page{size:A4;margin:22mm 20mm 24mm}@page:left{@bottom-left{content:counter(page) " / " counter(pages);font-family:var(--mono);font-size:9pt;color:#6b6b6b;letter-spacing:.25em}@bottom-right{content:"AKLMAN";font-family:var(--mono);font-size:9pt;color:#6b6b6b;letter-spacing:.25em}}@page:right{@bottom-left{content:counter(page) " / " counter(pages);font-family:var(--mono);font-size:9pt;color:#6b6b6b;letter-spacing:.25em}@bottom-right{content:"AKLMAN";font-family:var(--mono);font-size:9pt;color:#6b6b6b;letter-spacing:.25em}}@page:first{margin:0;@bottom-left{content:none}@bottom-right{content:none}}:root{--bg:#fff;--ink:#1a1a1a;--print-code-font:var(--font-jetbrains), "JetBrains Mono", "SF Mono", Consolas, var(--font-noto-serif-sc), "Noto Serif SC", "PingFang SC", monospace}html,body{font-size:11.5pt;line-height:1.7;color:#1a1a1a!important;background:#fff!important}.v3-header,.v3-footer,.v3-progress,.ch-nav,.discussion,.v3-codeblock__copy,.v3-header__theme,[data-theme-toggle]{display:none!important}.prose,.v3-cover,.v3-section,.v3-quote,.v3-codeblock,.v3-list,.v3-figure,.v3-diagram,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-kicker,.v3-h3{max-width:none!important;padding-left:0!important;padding-right:0!important}.v3-cover{page-break-before:always;break-before:page;margin-bottom:12mm!important;padding-top:0!important}.v3-cover__title{font-size:28pt}.v3-cover__lede{font-size:13pt}.v3-section{break-inside:avoid;page-break-inside:avoid;margin-top:8mm!important;margin-bottom:8mm!important}.v3-section__title{font-size:20pt}.v3-h3{font-size:13pt}.v3-quote,.v3-codeblock{page-break-inside:avoid}.v3-kicker{page-break-inside:avoid;break-inside:avoid;margin-top:12mm!important;padding-top:8mm!important}.v3-kicker__text{font-size:17pt}a{color:inherit!important;text-decoration-color:#c95f3d!important}.stop,.v3-section__number{color:#c95f3d!important}.v3-divider{color:#c95f3d!important;margin:24mm 0!important}.v3-quote__inner,.v3-codeblock__frame{border-left-width:1pt!important;border-left-color:#1a1a1a!important}}body.is-clean .v3-header,body.is-clean .v3-footer,body.is-clean .v3-progress,body.is-clean .ch-nav,body.is-clean .v3-help-hint{display:none!important}.v3-help{z-index:200;opacity:0;justify-content:center;align-items:center;padding:32px;transition:opacity .18s;display:flex;position:fixed;inset:0}.v3-help.is-open{opacity:1}.v3-help[hidden]{display:none!important}.v3-help__backdrop{background:var(--bg);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.v3-help__backdrop{background:color-mix(in oklab, var(--bg) 70%, transparent)}}.v3-help__backdrop{-webkit-backdrop-filter:blur(8px)saturate(140%)}.v3-help__card{background:var(--bg);border:.5px solid var(--ink);width:100%;max-width:520px;box-shadow:0 24px 64px -16px var(--ink);padding:40px 40px 28px;position:relative}@supports (color:color-mix(in lab, red, red)){.v3-help__card{box-shadow:0 24px 64px -16px color-mix(in oklab, var(--ink) 22%, transparent)}}@media (max-width:600px){.v3-help__card{padding:32px 24px 24px}}.v3-help__head{margin-bottom:32px}.v3-help__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:11px;font-weight:600}.v3-help__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:32px;font-style:italic;font-weight:500}.v3-help__list{grid-template-columns:auto 1fr;align-items:baseline;gap:14px 28px;margin:0;display:grid}.v3-help__list dt{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.v3-help__list dd{font-family:var(--text);color:var(--ink-2);margin:0;font-size:15px;line-height:1.5}.v3-help kbd,.v3-help-hint kbd{font-family:var(--mono);letter-spacing:.05em;color:var(--ink);background:var(--code-bg);border:.5px solid var(--border);text-align:center;min-width:22px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-block}.v3-help__foot{border-top:.5px solid var(--border);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:18px;font-size:10px;font-weight:600;display:flex}.v3-help__foot kbd{min-width:18px;padding:2px 6px;font-size:10px}.v3-help__foot button{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;background:0 0;border:0;padding:6px 0;font-size:10px;font-weight:600;text-decoration-thickness:1px;transition:color .12s,text-decoration-thickness .12s}.v3-help__foot button:hover{color:var(--accent);text-decoration-thickness:2px}.v3-help-hint{z-index:90;background:var(--bg);border:.5px solid var(--border);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:10px;font-weight:600;transition:opacity .2s,color .12s,border-color .12s;display:flex;position:fixed;bottom:22px;right:22px}.v3-help-hint:hover{color:var(--accent);border-color:var(--accent)}.v3-help-hint kbd{min-width:18px;padding:2px 6px;font-size:10px}@media print{.v3-help,.v3-help-hint{display:none!important}}.v3-header__search{cursor:pointer;width:22px;height:22px;color:var(--ink-3);background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:color .12s;display:inline-flex}.v3-header__search:hover{color:var(--accent)}.v3-header__search svg{display:block}.v3-search{z-index:250;opacity:0;justify-content:center;align-items:flex-start;padding:80px 24px 24px;transition:opacity .18s;display:flex;position:fixed;inset:0}.v3-search.is-open{opacity:1}.v3-search[hidden]{display:none!important}@media (max-width:600px){.v3-search{padding:40px 16px 16px}}.v3-search__backdrop{background:var(--bg);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.v3-search__backdrop{background:color-mix(in oklab, var(--bg) 70%, transparent)}}.v3-search__backdrop{-webkit-backdrop-filter:blur(8px)saturate(140%)}.v3-search__card{background:var(--bg);border:.5px solid var(--ink);width:100%;max-width:640px;max-height:calc(100vh - 160px);box-shadow:0 24px 64px -16px var(--ink);flex-direction:column;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.v3-search__card{box-shadow:0 24px 64px -16px color-mix(in oklab, var(--ink) 22%, transparent)}}@media (max-width:600px){.v3-search__card{max-height:calc(100vh - 80px)}}.v3-search__head{border-bottom:.5px solid var(--border);align-items:center;gap:14px;padding:18px 22px;display:flex}.v3-search__icon{color:var(--ink-3);flex-shrink:0;display:inline-flex}.v3-search__input{font-family:var(--text);color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0;font-size:18px;line-height:1.4}.v3-search__input::placeholder{font-family:var(--serif);color:var(--ink-3);font-size:17px;font-style:italic}.v3-search__esc{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);background:var(--code-bg);border:.5px solid var(--border);cursor:pointer;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:600;transition:color .12s,border-color .12s}.v3-search__esc:hover{color:var(--accent);border-color:var(--accent)}.v3-search__results{flex:1;padding:8px 0;overflow-y:auto}.v3-search__group{margin:0;padding:0}.v3-search__group+.v3-search__group{margin-top:6px}.v3-search__group-label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:16px 22px 4px;font-size:10px;font-weight:600}.v3-search__item{color:inherit;border-left:1.5px solid #0000;padding:12px 22px;text-decoration:none;transition:background-color .12s,border-color .12s;display:block}.v3-search__item.is-active{background:var(--row-hover);border-left-color:var(--accent)}.v3-search__item.is-active .v3-search__item-title{color:var(--accent)}.v3-search__item-title{font-family:var(--serif);color:var(--ink);text-wrap:balance;margin:0 0 4px;font-size:17px;font-style:italic;font-weight:500;line-height:1.3;transition:color .12s;display:block}.v3-search__item-meta{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600;display:block}.v3-search__empty{text-align:center;padding:64px 22px}.v3-search__empty-title{font-family:var(--serif);color:var(--ink-2);margin:0 0 12px;font-size:22px;font-style:italic;font-weight:500}.v3-search__empty-sub{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:10px;font-weight:600}.v3-search__foot{border-top:.5px solid var(--border);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:22px;padding:12px 22px;font-size:10px;font-weight:600;display:flex}.v3-search__foot kbd{font-family:var(--mono);color:var(--ink-2);background:var(--code-bg);border:.5px solid var(--border);text-align:center;min-width:18px;margin-right:2px;padding:2px 6px;font-size:10px;font-weight:600;line-height:1;display:inline-block}body.is-clean .v3-search{display:none!important}@media print{.v3-search{display:none!important}}.ch-nav__index-wrap{text-align:center;position:relative}.ch-toc{background:var(--bg);border:.5px solid var(--ink);width:440px;max-width:calc(100vw - 32px);max-height:60vh;box-shadow:0 24px 64px -16px var(--ink);position:absolute;bottom:calc(100% + 14px);left:50%;overflow-y:auto;transform:translate(-50%)translateY(6px)}@supports (color:color-mix(in lab, red, red)){.ch-toc{box-shadow:0 24px 64px -16px color-mix(in oklab, var(--ink) 22%, transparent)}}.ch-toc{opacity:0;visibility:hidden;text-align:left;text-transform:none;letter-spacing:normal;z-index:120;transition:opacity .18s,transform .18s,visibility 0s linear .18s}.ch-toc:before{content:"";height:14px;position:absolute;bottom:-14px;left:0;right:0}.ch-nav__index-wrap:focus-within .ch-toc{opacity:1;visibility:visible;transition:opacity .18s,transform .18s,visibility;transform:translate(-50%)translateY(0)}@media (hover:hover){.ch-nav__index-wrap:hover .ch-toc{opacity:1;visibility:visible;transition:opacity .18s,transform .18s,visibility;transform:translate(-50%)translateY(0)}}@media screen{.ch-toc,body.is-outline-open .chapter-outline{border:.5px solid var(--border);border-top-color:var(--ink);background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.ch-toc,body.is-outline-open .chapter-outline{background:color-mix(in srgb, var(--bg) 94%, var(--code-bg))}}.ch-toc,body.is-outline-open .chapter-outline{box-shadow:none}.ch-toc{transition:opacity .12s,transform .12s,visibility .12s;transform:translate(-50%)translateY(4px)}.ch-nav__index-wrap:focus-within .ch-toc{transition:opacity .12s,transform .12s,visibility;transform:translate(-50%)translateY(0)}.ch-toc__label,.chapter-outline__label{letter-spacing:.25em}.ch-toc__label{border-bottom:0;padding:14px 16px 12px}.ch-toc__list{padding:0}.ch-toc__link,.chapter-outline__link{color:var(--ink-3);background:0 0;border-left:1.5px solid #0000;transition:border-color .12s,color .12s,background-color .12s}.ch-toc__link{grid-template-columns:28px 1fr auto;padding:8px 16px 8px 14px}.ch-toc__title,.chapter-outline__link{font-family:var(--text);font-style:normal;font-weight:400}.ch-toc__title{color:inherit}.ch-toc__footlink{padding:12px 16px}.chapter-outline__toggle{transition:color .12s}.chapter-outline__toggle:hover,.chapter-outline__toggle:focus-visible{transform:none}.chapter-outline__link.is-active,.ch-toc__item.is-current .ch-toc__link{border-left-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.chapter-outline__link.is-active,.ch-toc__item.is-current .ch-toc__link{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.chapter-outline__link.is-active.chapter-outline__link,.ch-toc__item.is-current .ch-toc__link.ch-toc__link{border-left-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.chapter-outline__link.is-active.chapter-outline__link,.ch-toc__item.is-current .ch-toc__link.ch-toc__link{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.chapter-outline__link.is-active.chapter-outline__link,.ch-toc__item.is-current .ch-toc__link.ch-toc__link{color:var(--accent)}.chapter-outline__link.is-active,.ch-toc__item.is-current .ch-toc__num,.ch-toc__item.is-current .ch-toc__title{color:var(--accent);font-weight:600}.ch-toc__link:focus-visible,.chapter-outline__link:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}}@media screen and (min-width:1280px){body:not(.is-outline-hidden) .chapter-outline{border:.5px solid var(--border);border-top-color:var(--ink);background:var(--bg);padding:14px 16px 12px}@supports (color:color-mix(in lab, red, red)){body:not(.is-outline-hidden) .chapter-outline{background:color-mix(in srgb, var(--bg) 94%, var(--code-bg))}}}@media (hover:hover){.toc__row.toc__row:before{width:1px;height:40px;top:50%;bottom:auto;transform:translateY(-50%)}.toc__row:hover .toc__time,.toc__row:focus-visible .toc__time{color:var(--accent)}a.ch-toc__link:hover,a.ch-toc__link:focus-visible,.chapter-outline__link:hover,.chapter-outline__link:focus-visible{border-left-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){a.ch-toc__link:hover,a.ch-toc__link:focus-visible,.chapter-outline__link:hover,.chapter-outline__link:focus-visible{border-left-color:color-mix(in srgb, var(--accent) 45%, transparent)}}a.ch-toc__link:hover,a.ch-toc__link:focus-visible,.chapter-outline__link:hover,.chapter-outline__link:focus-visible{color:var(--accent);background:0 0}a.ch-toc__link:hover .ch-toc__num,a.ch-toc__link:focus-visible .ch-toc__num,a.ch-toc__link:hover .ch-toc__title,a.ch-toc__link:focus-visible .ch-toc__title,.chapter-outline__toggle:hover,.chapter-outline__toggle:focus-visible{color:var(--accent)}.ch-nav__index-wrap:hover .ch-toc{transition:opacity .12s,transform .12s,visibility;transform:translate(-50%)translateY(0)}}.ch-toc__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);border-bottom:.5px solid var(--border);margin:0;padding:16px 22px 10px;font-size:10px;font-weight:600}.ch-toc__list{margin:0;padding:6px 0;list-style:none}.ch-toc__item{margin:0}.ch-toc__link{color:inherit;border-left:1.5px solid #0000;grid-template-columns:28px 1fr auto;align-items:baseline;column-gap:16px;padding:9px 22px;text-decoration:none;transition:background-color .12s,border-color .12s;display:grid}a.ch-toc__link:hover{background:var(--row-hover)}a.ch-toc__link:hover .ch-toc__title,a.ch-toc__link:hover .ch-toc__num{color:var(--accent)}.ch-toc__num{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-3);font-size:11px;font-weight:600;transition:color .12s}.ch-toc__title{font-family:var(--serif);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-style:italic;font-weight:500;line-height:1.35;transition:color .12s;overflow:hidden}.ch-toc__time{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.ch-toc__item.is-current .ch-toc__link{border-left-color:var(--accent);background:var(--row-hover);cursor:default}.ch-toc__item.is-current .ch-toc__num,.ch-toc__item.is-current .ch-toc__title{color:var(--accent)}.ch-toc__footlink{border-top:.5px solid var(--border);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);text-align:right;padding:12px 22px;font-size:10px;font-weight:600;transition:color .12s;display:block}.ch-toc__footlink:hover{color:var(--accent)}body.is-clean .ch-toc{display:none!important}@media print{.ch-toc{display:none!important}}.v3-fn{display:inline;position:relative}.v3-fn-ref{vertical-align:super;font-size:.62em;font-family:var(--serif);color:var(--accent);letter-spacing:0;margin:0 1px 0 2px;font-style:italic;font-weight:600;line-height:1;text-decoration:none;transition:opacity .12s}.v3-fn-ref:hover{opacity:.65}.v3-fn-ref:focus-visible{text-underline-offset:2px;outline:0;text-decoration:underline}.v3-fn-tip{background:var(--bg);border:.5px solid var(--ink);width:340px;max-width:min(360px,100vw - 32px);font-family:var(--text);color:var(--ink-2);letter-spacing:normal;text-align:left;text-transform:none;text-wrap:pretty;opacity:0;visibility:hidden;z-index:110;pointer-events:none;box-shadow:0 12px 36px -12px var(--ink);padding:16px 20px;font-size:14px;font-style:normal;font-weight:400;line-height:1.6;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}@supports (color:color-mix(in lab, red, red)){.v3-fn-tip{box-shadow:0 12px 36px -12px color-mix(in oklab, var(--ink) 18%, transparent)}}.v3-fn-tip{transition:opacity .16s,transform .16s,visibility 0s linear .16s}.v3-fn-tip:before{content:"";height:10px;position:absolute;bottom:-10px;left:0;right:0}.v3-fn-tip__num{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:10px;font-weight:600;display:block}.v3-fn-tip a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.v3-fn-tip em{font-family:var(--serif);font-style:italic}@media (hover:hover){.v3-fn:hover .v3-fn-tip,.v3-fn:focus-within .v3-fn-tip{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .16s,transform .16s;transform:translate(-50%)translateY(0)}}.v3-refs{max-width:var(--content-w);padding:0 var(--reading-px);margin:80px auto 0}.v3-refs__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:11px;font-weight:600}.v3-refs__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 28px;font-size:28px;font-style:italic;font-weight:500}.v3-refs__list{gap:22px;margin:0;padding:0;list-style:none;display:grid}.v3-refs__item{grid-template-columns:28px 1fr 24px;align-items:baseline;column-gap:18px;scroll-margin-top:96px;display:grid}.v3-refs__num{font-family:var(--mono);letter-spacing:.05em;color:var(--accent);font-size:12px;font-weight:600}.v3-refs__body{font-family:var(--text);color:var(--ink-2);text-wrap:pretty;font-size:15px;line-height:1.65}.v3-refs__body em{font-family:var(--serif);color:var(--ink);font-style:italic}.v3-refs__body a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;word-break:break-all;text-decoration-thickness:1px;transition:text-decoration-thickness .12s}.v3-refs__body a:hover{color:var(--accent);text-decoration-thickness:2px}.v3-refs__back{font-family:var(--serif);color:var(--ink-3);text-align:right;font-size:18px;font-style:italic;line-height:1;text-decoration:none;transition:color .12s}.v3-refs__back:hover,.v3-refs__item:target .v3-refs__num,.v3-refs__item:target .v3-refs__body{color:var(--accent)}@media print{.v3-fn-tip{display:none!important}.v3-refs{page-break-inside:avoid}}@media (max-width:540px){.v3-header__inner{padding:18px 16px}.v3-header__nav{gap:18px}.v3-header__nav.has-back{gap:14px}.v3-header__nav.has-back .v3-header__library{display:none}.v3-header__brand,.v3-header__nav a,.v3-header__lang{letter-spacing:.15em;font-size:10px}}@media (max-width:380px){.v3-header__brand{letter-spacing:.12em;font-size:10px}.v3-header__nav{gap:14px}.v3-header__about{display:none}}.internal-ribbon{z-index:60;background:var(--ink);color:var(--bg);font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;text-align:center;border-bottom:.5px solid var(--ink);padding:6px 16px;font-size:10px;font-weight:600;position:fixed;top:0;left:0;right:0}.has-internal-ribbon .v3-header{top:24px}.has-internal-ribbon main{padding-top:24px}@media print{.internal-ribbon{display:none!important}}.v3-table-wrap{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto;overflow-x:auto}.v3-table{border-collapse:collapse;width:100%;font-family:var(--text)}.v3-table caption{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);text-align:left;caption-side:bottom;margin-top:14px;font-size:10px;font-weight:600}.v3-table th,.v3-table td{text-align:left;vertical-align:top;border-bottom:.5px solid var(--border);padding:14px 20px 14px 0}.v3-table thead th{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--ink);padding-bottom:12px;font-size:11px;font-weight:600}.v3-table .num,.v3-table th.num{text-align:right;font-variant-numeric:tabular-nums;padding-right:0}.v3-table tbody em{font-family:var(--serif);color:var(--ink);font-style:italic}.v3-table tbody code{font-family:var(--mono);background:var(--code-bg);padding:2px 6px;font-size:.88em}.v3-callout{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-callout__inner{border-left:1.5px solid var(--accent);padding:2px 0 2px 24px}.v3-callout__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:10px;font-weight:600}.v3-callout__body{font-family:var(--text);color:var(--ink-2);text-wrap:pretty;margin:0;font-size:16px;line-height:1.7}.v3-callout__body code{font-family:var(--mono);background:var(--code-bg);padding:2px 6px;font-size:.88em}.v3-h3{scroll-margin-top:96px;position:relative}.v3-h3__anchor{opacity:0;font-family:var(--serif);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 12px 0 0;font-size:22px;font-style:italic;font-weight:500;line-height:1.3;text-decoration:none;transition:opacity .12s;position:absolute;top:0;left:-4px;transform:translate(-100%)}@media (hover:hover){.v3-h3:hover .v3-h3__anchor,.v3-h3:focus-within .v3-h3__anchor{opacity:1}}.v3-h3__anchor:focus-visible{opacity:1;outline:0}.v3-h3__anchor.is-copied{opacity:1;color:var(--ink-3)}.v3-h3__anchor.is-copied:after{content:"Copied";font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:9px;font-weight:600;position:absolute;bottom:100%;left:0;transform:translateY(-4px)}@media (max-width:760px){.v3-h3__anchor{opacity:1;color:var(--ink-3);padding:0 8px 0 0;font-size:18px;position:static;transform:none}}.next-book{max-width:var(--content-w);padding:32px var(--reading-px) 0 var(--reading-px);border-top:.5px solid var(--border);margin:80px auto 0}.next-book__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 20px;font-size:11px;font-weight:600}.next-book__card{color:inherit;grid-template-columns:88px 1fr;column-gap:28px;padding:18px 0;text-decoration:none;transition:transform .2s;display:grid}.next-book__card:hover{transform:translate(4px)}.next-book__card:hover .next-book__title{color:var(--accent)}.next-book__cover{aspect-ratio:3/4;background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 6px, var(--bg) 6px, var(--bg) 7px), var(--code-bg);border:.5px solid var(--border);width:100%}.next-book__body{padding-top:4px}.next-book__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 12px;font-size:26px;font-style:italic;font-weight:500;line-height:1.15;transition:color .12s}.next-book__lede{font-family:var(--text);color:var(--ink-2);text-wrap:pretty;margin:0 0 14px;font-size:15px;line-height:1.6}.next-book__meta{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.next-book__backlink{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;margin:6px 0 0 116px;font-size:11px;font-weight:600}.next-book__backlink a{color:var(--ink-3);text-decoration:none;transition:color .12s}.next-book__backlink a:hover,.next-book__backlink a:focus-visible{color:var(--accent)}@media (max-width:560px){.next-book__backlink{margin-left:0}}.home-hero{max-width:var(--content-w);padding:120px var(--reading-px) 0 var(--reading-px);margin:0 auto}.home-hero__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 40px;font-size:11px;font-weight:600}.home-hero__statement{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 40px;font-size:52px;font-style:italic;font-weight:500;line-height:1.08}.home-hero__lede{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;margin:0 0 56px;font-size:22px;font-style:italic;line-height:1.55}.home-hero__rule{background:var(--rule);border:0;width:80px;height:.5px;margin:0 0 24px}.home-hero__stats{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:600}@media (max-width:760px){.home-hero__statement{font-size:36px}.home-hero__lede{font-size:19px}}.featured{max-width:880px;padding:0 var(--reading-px);margin:0 auto}.featured__link{color:inherit;grid-template-columns:320px 1fr;align-items:start;gap:56px;text-decoration:none;display:grid}@media (max-width:760px){.featured__link{grid-template-columns:1fr;gap:36px}}.featured__cover{aspect-ratio:3/4;background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 8px, var(--bg) 8px, var(--bg) 9px), var(--code-bg);border:.5px solid var(--border);justify-content:center;align-items:center;width:100%;transition:transform .2s;display:flex}.featured__link:hover .featured__cover{transform:scale(1.02)}.featured__cover .asset-frame__label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);background:var(--bg);border:.5px solid var(--border);padding:6px 10px;font-size:10px;font-weight:600}.featured__meta{padding-top:8px}.featured__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 28px;font-size:11px;font-weight:600}.featured__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 24px;font-size:38px;font-style:italic;font-weight:500;line-height:1.08}.featured__lede{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;margin:0 0 32px;font-size:19px;font-style:italic;line-height:1.55}.featured__stats{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0 0 28px;font-size:11px;font-weight:600}.featured__cta{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;font-size:11px;font-weight:600;text-decoration-thickness:1px;transition:color .12s,text-decoration-thickness .12s}.featured__link:hover .featured__cta{color:var(--accent);text-decoration-thickness:2px}.books-list{max-width:880px;padding:0 var(--reading-px);margin:0 auto}.book-row{border-bottom:.5px solid var(--border);color:inherit;grid-template-columns:120px 1fr;column-gap:40px;padding:36px 0;text-decoration:none;transition:transform .2s;display:grid}.book-row:first-child{border-top:.5px solid var(--border)}.book-row:hover{transform:translate(4px)}.book-row:hover .book-row__title{color:var(--accent)}@media (max-width:760px){.book-row{grid-template-columns:88px 1fr;column-gap:24px}}.book-row__cover{aspect-ratio:3/4;background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 6px, var(--bg) 6px, var(--bg) 7px), var(--code-bg);border:.5px solid var(--border);width:100%}.book-row__body{padding-top:4px}.book-row__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:10px;font-weight:600}.book-row__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 14px;font-size:26px;font-style:italic;font-weight:500;line-height:1.15;transition:color .12s}.book-row__lede{font-family:var(--text);color:var(--ink-2);text-wrap:pretty;margin:0 0 18px;font-size:16px;line-height:1.6}.book-row__stats{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.lib-cover{padding-top:100px}.lib-controls{max-width:880px;padding:0 var(--reading-px);margin:0 auto}.lib-search{border-top:.5px solid var(--ink);border-bottom:.5px solid var(--ink);margin:0 0 36px;padding:18px 0;position:relative}.lib-search__input{width:100%;font-family:var(--mono);letter-spacing:.1em;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:500}.lib-search__input::placeholder{color:var(--ink-3);font-family:var(--mono);letter-spacing:.1em;font-size:13px}.lib-tags{flex-wrap:wrap;gap:8px;margin:0 0 56px;display:flex}.lib-tag{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);border:.5px solid var(--border);cursor:pointer;background:0 0;align-items:center;padding:8px 14px;font-size:11px;font-weight:600;text-decoration:none;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex}.lib-tag:hover,.lib-tag:focus-visible{color:var(--accent);border-color:var(--accent)}.lib-tag.is-active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.lib-list{max-width:880px;padding:0 var(--reading-px);margin:0 auto}.lib-row{border-bottom:.5px solid var(--border);color:inherit;grid-template-columns:144px 1fr auto;column-gap:40px;padding:40px 0;text-decoration:none;transition:transform .2s;display:grid}.lib-row:first-child{border-top:.5px solid var(--border)}.lib-row:hover{transform:translate(4px)}.lib-row:hover .lib-row__title{color:var(--accent)}@media (max-width:760px){.lib-row{grid-template-columns:88px 1fr;column-gap:24px}.lib-row__stats{display:none}}.lib-row__cover{aspect-ratio:3/4;background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 7px, var(--bg) 7px, var(--bg) 8px), var(--code-bg);border:.5px solid var(--border);width:100%}.lib-row__body{min-width:0;padding-top:4px}.lib-row__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:10px;font-weight:600}.lib-row__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 14px;font-size:28px;font-style:italic;font-weight:500;line-height:1.15;transition:color .12s}.lib-row__lede{font-family:var(--text);color:var(--ink-2);text-wrap:pretty;margin:0 0 18px;font-size:16px;line-height:1.6}.lib-row__meta{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.lib-row__stats{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);text-align:right;align-self:end;min-width:96px;padding-bottom:4px;font-size:11px;font-weight:600}.lib-row__stats span{display:block}.lib-row__stats .accent{color:var(--accent)}.lib-empty{max-width:var(--content-w);padding:0 var(--reading-px);text-align:center;margin:80px auto}.lib-empty__text{font-family:var(--serif);color:var(--ink-2);margin:0 0 16px;font-size:28px;font-style:italic;font-weight:500}.lib-empty__sub{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:600}.about-cover{padding-top:100px}.portrait{max-width:var(--content-w);padding:0 var(--reading-px);justify-content:center;margin:56px auto 96px;display:flex}.portrait__frame{background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 8px, var(--bg) 8px, var(--bg) 9px), var(--code-bg);border:.5px solid var(--border);justify-content:center;align-items:center;width:256px;height:256px;display:flex}.portrait__frame span{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);background:var(--bg);border:.5px solid var(--border);padding:6px 10px;font-size:10px;font-weight:600}.elsewhere{max-width:var(--content-w);padding:0 var(--reading-px);margin:0 auto}.elsewhere__row{border-bottom:.5px solid var(--border);grid-template-columns:144px 1fr;align-items:baseline;column-gap:32px;padding:22px 0;display:grid}.elsewhere__row:first-of-type{border-top:.5px solid var(--border)}.elsewhere__label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.elsewhere__value{font-family:var(--text);color:var(--ink);font-size:18px}.elsewhere__value a{text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-thickness .12s}.elsewhere__value a:hover{color:var(--accent);text-decoration-thickness:2px}.wechat{max-width:var(--content-w);padding:0 var(--reading-px);grid-template-columns:144px 1fr;align-items:start;column-gap:32px;margin:56px auto 0;display:grid}.wechat__label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);padding-top:6px;font-size:11px;font-weight:600}.wechat__body{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.wechat__name{font-family:var(--text);color:var(--ink);font-size:18px}.wechat__qr{background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 8px, var(--bg) 8px, var(--bg) 9px), var(--code-bg);border:.5px solid var(--border);justify-content:center;align-items:center;width:160px;height:160px;display:flex}.wechat__qr span{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);background:var(--bg);border:.5px solid var(--border);padding:5px 10px;font-size:10px;font-weight:600}.wechat__hint{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);max-width:280px;font-size:10px;font-weight:600;line-height:1.6}.wechat__hint code{font-family:var(--mono);color:var(--ink-2);background:var(--code-bg);padding:1px 6px;font-size:1em}@media (max-width:600px){.wechat{grid-template-columns:1fr;gap:18px}}.nf{min-height:calc(100vh - 200px);padding:80px var(--reading-px);align-items:center;display:flex}.nf__inner{max-width:var(--content-w);width:100%;margin:0 auto}.nf__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 36px;font-size:11px;font-weight:600}.nf__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 28px;font-size:56px;font-style:italic;font-weight:500;line-height:1.08}@media (max-width:760px){.nf__title{font-size:38px}}.nf__lede{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;max-width:540px;margin:0 0 48px;font-size:22px;font-style:italic;font-weight:400;line-height:1.55}.nf__rule{background:var(--rule);border:0;width:80px;height:.5px;margin:0 0 40px}.nf__actions{flex-wrap:wrap;gap:32px;display:flex}.nf__btn{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;font-size:11px;font-weight:600;text-decoration-thickness:1px;transition:color .12s,text-decoration-thickness .12s}.nf__btn:hover{color:var(--accent);text-decoration-thickness:2px}.index-wrap{max-width:1080px;padding:0 var(--reading-px);margin:0 auto}.index-hero{max-width:var(--content-w);margin:0 auto;padding:120px 0 80px}.index-hero__eyebrow{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 32px;font-size:11px;font-weight:600}.index-hero__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 28px;font-size:52px;font-style:italic;font-weight:500;line-height:1.08}.index-hero__lede{font-family:var(--serif);color:var(--ink-2);margin:0 0 32px;font-size:22px;font-style:italic;line-height:1.55}.index-hero__byline{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:600}.nav-grid{border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);grid-template-columns:1fr 1fr;gap:0;display:grid}@media (max-width:760px){.nav-grid{grid-template-columns:1fr}}.nav-card{color:inherit;border-right:.5px solid var(--border);padding:36px 32px;text-decoration:none;transition:background-color .12s;display:block}.nav-grid>.nav-card:last-child{border-right:0}@media (max-width:760px){.nav-card{border-right:0;border-bottom:.5px solid var(--border)}.nav-grid>.nav-card:last-child{border-bottom:0}}.nav-card:hover{background:var(--row-hover)}.nav-card:hover .nav-card__title{color:var(--accent)}.nav-card__num{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 22px;font-size:11px;font-weight:600}.nav-card__title{font-family:var(--serif);color:var(--ink);margin:0 0 16px;font-size:30px;font-style:italic;font-weight:500;transition:color .12s}.nav-card__desc{font-family:var(--text);color:var(--ink-2);margin:0 0 24px;font-size:16px;line-height:1.6}.nav-card__route{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.tokens{padding:96px 0 0}.tokens__head{max-width:var(--content-w);margin:0 auto 32px}.tokens__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-size:11px;font-weight:600}.tokens__title{font-family:var(--serif);color:var(--ink);margin:0;font-size:36px;font-style:italic;font-weight:500}.swatches{background:var(--border);border:.5px solid var(--border);grid-template-columns:repeat(8,1fr);gap:1px;display:grid}@media (max-width:760px){.swatches{grid-template-columns:repeat(4,1fr)}}.swatch{background:var(--bg);flex-direction:column;gap:12px;min-height:160px;padding:22px 18px;display:flex}.swatch__chip{border:.5px solid var(--border);width:100%;height:56px}.swatch__name{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.swatch__hex{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-2);font-size:10px}.type-grid{border-top:.5px solid var(--border);grid-template-columns:200px 1fr;gap:28px 32px;padding-top:28px;display:grid}.type-grid__label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);padding-top:6px;font-size:10px;font-weight:600}.type-grid__sample{color:var(--ink)}.ts-h1{font-family:var(--serif);letter-spacing:-.02em;font-size:52px;font-style:italic;font-weight:500;line-height:1.08}.ts-h2{font-family:var(--serif);letter-spacing:-.02em;font-size:36px;font-style:italic;font-weight:500;line-height:1.15}.ts-h3{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:600;line-height:1.3}.ts-lede{font-family:var(--serif);color:var(--ink-2);font-size:22px;font-style:italic;line-height:1.55}.ts-body{font-family:var(--text);font-size:18px;line-height:1.78}.ts-quote{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:500}.ts-mono{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.ts-code{font-family:var(--mono);font-size:14px;line-height:1.85}.notes-grid{grid-template-columns:1fr 1fr 1fr;gap:32px;padding-top:12px;display:grid}@media (max-width:760px){.notes-grid{grid-template-columns:1fr}}.note{border-top:.5px solid var(--border);padding:24px 0 0}.note__label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:10px;font-weight:600}.note__body{font-family:var(--text);color:var(--ink-2);margin:0;font-size:15px;line-height:1.7}.ch-nav__prev,.ch-nav__next{position:relative}.ch-nav__peek{background:var(--bg);border:.5px solid var(--ink);width:max-content;max-width:240px;box-shadow:0 12px 36px -12px var(--ink);padding:10px 14px;position:absolute;bottom:calc(100% + 12px)}@supports (color:color-mix(in lab, red, red)){.ch-nav__peek{box-shadow:0 12px 36px -12px color-mix(in oklab, var(--ink) 18%, transparent)}}.ch-nav__peek{font-family:var(--serif);letter-spacing:-.01em;text-transform:none;color:var(--ink);white-space:normal;opacity:0;pointer-events:none;z-index:110;font-size:14px;font-style:italic;font-weight:500;line-height:1.4;transition:opacity .16s,transform .16s;transform:translateY(4px)}.ch-nav__prev .ch-nav__peek{text-align:left;left:0}.ch-nav__next .ch-nav__peek{text-align:right;right:0}@media (hover:hover){.ch-nav__prev:hover .ch-nav__peek,.ch-nav__next:hover .ch-nav__peek,.ch-nav__prev:focus-visible .ch-nav__peek,.ch-nav__next:focus-visible .ch-nav__peek{opacity:1;transform:translateY(0)}}.print-book{color:var(--ink)}.print-cover{max-width:880px;padding:72px var(--reading-px) 64px var(--reading-px);text-align:center;margin:0 auto}.print-cover__inner{flex-direction:column;align-items:center;gap:28px;min-height:90vh;display:flex}.print-cover__art{aspect-ratio:3/4;background:repeating-linear-gradient(135deg, var(--code-bg) 0px, var(--code-bg) 8px, var(--bg) 8px, var(--bg) 9px), var(--code-bg);border:.5px solid var(--border);justify-content:center;align-items:center;width:min(360px,78vw);display:flex}.print-cover__art .cover-art{--cover-pad:38px;--cover-logo-width:min(100%, 224px);--cover-logo-size:56px;--cover-combine-icon-size:56px;--cover-combine-text-size:22px;--cover-combine-gap:9px;--cover-logo-top:70px;--cover-title-top:70px;--cover-large-title-size:42px;--cover-title-size:var(--cover-large-title-size);--cover-subtitle-size:17px;--cover-brand-display:none;--cover-mark-display:none;--cover-combine-display:flex}.print-cover__art .cover-art:after{content:"";background-image:radial-gradient(var(--cover-accent) .7px, transparent .8px);width:42%;height:34%;position:absolute;bottom:8%;right:5%}@supports (color:color-mix(in lab, red, red)){.print-cover__art .cover-art:after{background-image:radial-gradient(color-mix(in oklab, var(--cover-accent) 28%, transparent) .7px, transparent .8px)}}.print-cover__art .cover-art:after{opacity:.55;pointer-events:none;background-size:9px 9px}.print-cover__art .cover-art__logo{justify-content:flex-start}.print-cover__art .cover-art__title{-webkit-line-clamp:3;line-height:1.04}.print-cover__art .cover-art__subtitle{margin-top:22px}.print-cover__art .cover-art__subtitle:before{content:"";background:var(--cover-accent);width:34px;height:2px;margin:0 0 18px;display:block}.print-cover__art .cover-art__sig{border-top:.5px solid var(--border);width:100%;padding-top:18px}.cover-art__masthead{width:100%;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:10px;font-size:9px;font-weight:600;display:flex}.print-toc{max-width:var(--content-w);padding:96px var(--reading-px) 64px var(--reading-px);margin:0 auto}.print-toc__title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 56px;font-size:40px;font-style:italic;font-weight:500;line-height:1.1}.print-toc__list{margin:0;padding:0;list-style:none}.print-toc__item{border-bottom:.5px solid var(--border)}.print-toc__item:first-child{border-top:.5px solid var(--border)}.print-toc__link{color:inherit;grid-template-columns:56px 1fr auto;align-items:baseline;column-gap:24px;padding:16px 0;text-decoration:none;display:grid}.print-toc__num{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);font-size:12px;font-weight:600}.print-toc__title-cell{font-family:var(--text);color:var(--ink);font-size:17px;line-height:1.4}.print-toc__time{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.print-colophon{max-width:var(--content-w);padding:120px var(--reading-px);text-align:center;flex-direction:column;justify-content:center;gap:28px;min-height:70vh;margin:0 auto;display:flex}.print-colophon__line{font-family:var(--serif);color:var(--ink);margin:0;font-size:24px;font-style:italic;font-weight:500;line-height:1.4}.print-colophon__sig,.print-colophon__copy{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:11px;font-weight:600}@media print{*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.v3-cover__byline{display:none!important}.print-cover,.print-toc{page-break-after:always;break-after:page;min-height:0;padding:0}.print-cover{width:210mm;max-width:none;height:297mm;margin:0;overflow:hidden}.print-cover__inner{justify-content:center;gap:0;width:210mm;height:297mm;min-height:297mm}.print-cover__art{aspect-ratio:auto;border:0;width:210mm;height:297mm}.print-jacket{box-sizing:border-box;width:210mm;height:297mm;color:var(--ink);text-align:left;background:#fff;flex-direction:column;padding:15mm 16mm;display:flex}.print-jacket__masthead,.print-jacket__colophon{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:6mm;font-size:8pt;font-weight:600;display:flex}.print-jacket__masthead{border-bottom:.5px solid var(--border);padding-bottom:4mm}.print-jacket__colophon{border-top:.5px solid var(--border);padding-top:4mm}.print-jacket__body{flex:1;grid-template-columns:1fr 66mm;align-items:center;gap:13mm;display:grid}.print-jacket__lead{flex-direction:column;justify-content:center;min-width:0;display:flex}.print-jacket__kicker{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--cover-accent);margin:0 0 9mm;font-size:8.5pt;font-weight:600}.print-jacket__mark{--cover-mark-display:none;--cover-combine-display:flex;--cover-combine-icon-size:13mm;--cover-combine-text-size:17pt;--cover-combine-gap:3mm;--cover-logo-size:13mm;margin:0 0 10mm;display:flex}.print-jacket__title{font-family:var(--serif);color:var(--ink);margin:0;font-size:31pt;font-style:normal;font-weight:600;line-height:1.12}.print-jacket__rule{background:var(--cover-accent);width:14mm;height:.6mm;margin:6mm 0}.print-jacket__lede{max-width:90mm;font-family:var(--text);color:var(--ink-2);margin:0;font-size:13pt;line-height:1.5}.print-jacket__card{aspect-ratio:1/2.05;border:.5px solid var(--border);background:#fcfbf9;flex-direction:column;align-self:center;width:66mm;display:flex;overflow:hidden}.print-jacket .cover-card__brand{--cover-mark-display:none;--cover-combine-display:flex;--cover-combine-icon-size:9mm;--cover-combine-text-size:12pt;--cover-combine-gap:2.5mm;--cover-logo-size:9mm;--cover-combine-text-color:#1a1a1a;border-bottom:.5px solid #ece9e3;align-items:center;padding:5mm;display:flex}.print-jacket .cover-card__brand .book-cover-logo--cursor,.print-jacket .cover-card__brand .book-cover-logo--hermes,.print-jacket .cover-card__brand .book-cover-logo--zhipu-glm{--cover-logo-color:#1a1a1a}.print-jacket .cover-card__art{flex:1;position:relative}.print-colophon{page-break-before:always;break-before:page;min-height:0;padding:0}.print-toc__title{font-size:22pt}.print-toc__title-cell{font-size:11.5pt}.print-colophon__line{font-size:14pt}.v3-codeblock,.v3-callout,.v3-figure,.v3-diagram,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-quote,.v3-tabs,.v3-table-wrap,.v3-refs{break-inside:avoid;page-break-inside:avoid}.v3-h3,.v3-section__title,.v3-cover__title,.print-toc__title,.print-colophon__line{break-after:avoid;page-break-after:avoid}.prose p{orphans:3;widows:3}.next-book,.print-trigger{display:none!important}.prose code,.v3-table tbody code,.v3-callout__body code{background:0 0!important;border-radius:0!important;padding:0!important}.v3-figure__img{background:0 0!important}.v3-figure__img .mono-label{display:none!important}.v3-codeblock__pre,.v3-codeblock__pre code{font-variant-ligatures:none;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--print-code-font)!important}.v3-tabs{break-inside:auto;page-break-inside:auto}.v3-tabs__bar{display:none!important}.v3-tabs__panels{padding-top:0}.v3-tabs__panel{break-inside:avoid;page-break-inside:avoid;margin:0 0 8mm;display:block!important}.v3-tabs__panel:before{content:attr(data-print-label);font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 3mm;font-size:8pt;font-weight:700;display:block}.v3-tabs__panel:last-child{margin-bottom:0}}.v3-cover--chapter{padding-top:100px}.book-row{grid-template-columns:144px 1fr}@media (max-width:760px){.book-row{grid-template-columns:88px 1fr}}.book-row__cover .book-cover-logo--anthropic,.lib-row__cover .book-cover-logo--anthropic,.next-book__cover .book-cover-logo--anthropic{--cover-combine-icon-size:28px;--cover-combine-text-size:10px}.book-row__cover .book-cover-logo--cursor,.lib-row__cover .book-cover-logo--cursor,.next-book__cover .book-cover-logo--cursor{--cover-combine-icon-size:38px;--cover-combine-text-size:12px}.book-row__cover .book-cover-logo--doubao,.lib-row__cover .book-cover-logo--doubao,.next-book__cover .book-cover-logo--doubao{--cover-combine-text-size:12px}.book-row__cover .book-cover-logo--opencode,.lib-row__cover .book-cover-logo--opencode,.next-book__cover .book-cover-logo--opencode{--cover-combine-icon-size:36px;--cover-combine-text-size:11px}.book-row__cover .book-cover-logo--hermes,.lib-row__cover .book-cover-logo--hermes,.next-book__cover .book-cover-logo--hermes{--cover-combine-text-size:22px}.book-cover-logo--hermes{--cover-logo-color:var(--ink);--cover-combine-text-color:var(--ink)}:root[data-theme=dark] .book-cover-logo--hermes{--cover-logo-color:#c29d3d;--cover-combine-text-color:#c29d3d}:root[data-theme=dark] .cover-art:has(.book-cover-logo--hermes){--cover-accent:#c29d3d!important}.book-row__cover .book-cover-logo--openclaw,.lib-row__cover .book-cover-logo--openclaw,.next-book__cover .book-cover-logo--openclaw{--cover-combine-icon-size:36px;--cover-combine-text-size:11px}.book-cover-logo__char{font-family:var(--serif);font-style:normal;font-weight:500;font-size:calc(var(--cover-logo-size) * .78);color:var(--cover-logo-color);line-height:1}.book-cover-logo__char--combined{font-size:calc(var(--cover-combine-icon-size) * .78)}.book-cover-logo__workmark{font-family:var(--mono);font-size:var(--cover-combine-text-size);letter-spacing:.12em;text-transform:uppercase;color:var(--cover-combine-text-color);font-weight:600;line-height:1}.book-row__cover .book-cover-logo--knowledge-work,.lib-row__cover .book-cover-logo--knowledge-work,.next-book__cover .book-cover-logo--knowledge-work,.book-row__cover .book-cover-logo--developer-work,.lib-row__cover .book-cover-logo--developer-work,.next-book__cover .book-cover-logo--developer-work{--cover-combine-icon-size:40px;--cover-combine-text-size:12px}.book-row__cover .book-cover-logo--study-work,.lib-row__cover .book-cover-logo--study-work,.next-book__cover .book-cover-logo--study-work{--cover-combine-text-size:18px}.book-row__cover .book-cover-logo--primer,.lib-row__cover .book-cover-logo--primer,.next-book__cover .book-cover-logo--primer{--cover-combine-text-size:16px}.book-cover-logo--cursor{--cover-logo-color:var(--ink);--cover-combine-text-color:var(--ink)}.book-cover-logo--kimi .book-cover-logo__tile{width:var(--cover-logo-size);height:var(--cover-logo-size);padding:calc(var(--cover-logo-size) * .18);background:var(--cover-accent);border:.5px solid var(--border);border-radius:calc(var(--cover-logo-size) * .22);box-sizing:border-box;justify-content:center;align-items:center;display:inline-flex}.book-cover-logo--kimi .book-cover-logo__tile--combined{width:var(--cover-combine-icon-size);height:var(--cover-combine-icon-size);padding:calc((var(--cover-combine-icon-size) - 1.6 * var(--cover-combine-text-size)) / 2);border-radius:calc(var(--cover-combine-icon-size) * .22)}.book-row__cover .book-cover-logo--kimi,.lib-row__cover .book-cover-logo--kimi,.next-book__cover .book-cover-logo--kimi{--cover-combine-text-size:18px}.v3-chapter-draft{max-width:var(--content-w);padding:64px var(--reading-px);text-align:center;border-top:.5px solid var(--border);margin:80px auto 0}.v3-chapter-draft__label{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 28px;font-size:11px;font-weight:600}.v3-chapter-draft__title{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0 0 24px;font-size:32px;font-style:italic;font-weight:500;line-height:1.2}.v3-chapter-draft__body{font-family:var(--text);color:var(--ink-2);text-wrap:pretty;max-width:480px;margin:0 auto;font-size:17px;line-height:1.6}@media (max-width:760px){.v3-chapter-draft{padding:48px var(--reading-px)}.v3-chapter-draft__title{font-size:24px}.v3-chapter-draft__body{font-size:15px}}@media print{.v3-chapter-draft{page-break-inside:avoid;text-align:left;border-top:0;margin:12mm 0 0;padding:0}.v3-chapter-draft__title{font-size:16pt}.v3-chapter-draft__body{max-width:none;font-size:11pt}}.toc__row--draft .toc__title{color:var(--ink-3)}.toc__row--draft .toc__time{color:var(--accent)}.book-detail__lang-note{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 24px;font-size:11px;font-weight:600}.book-detail__lede,.featured__lede,.v3-cover__lede{font-family:var(--text);font-style:normal}figure[data-rehype-pretty-code-figure]{display:contents}.v3-codeblock__pre code[data-language] span{color:var(--shiki-light)}:root[data-theme=dark] .v3-codeblock__pre code[data-language] span{color:var(--shiki-dark)}.prose code[data-language]>span{color:var(--shiki-light)}:root[data-theme=dark] .prose code[data-language]>span{color:var(--shiki-dark)}:root .v3-codeblock__pre{white-space:pre-wrap;overflow-wrap:anywhere}:root .v3-codeblock__frame{border-left-width:1pt}.v3-codeblock__pre code[data-language] [data-highlighted-line]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-codeblock__pre code[data-language] [data-highlighted-line]{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.v3-codeblock__pre code[data-language] [data-highlighted-line]{border-left:2px solid var(--accent);margin:0 -24px 0 -26px;padding:0 24px 0 22px}:root[data-theme=dark] .v3-codeblock__pre code[data-language] [data-highlighted-line]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark] .v3-codeblock__pre code[data-language] [data-highlighted-line]{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.v3-codeblock__pre mark[data-highlighted-chars]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-codeblock__pre mark[data-highlighted-chars]{background:color-mix(in srgb, var(--accent) 18%, transparent)}}.v3-codeblock__pre mark[data-highlighted-chars]{border-bottom:1px solid var(--accent);border-radius:2px;padding:1px 2px}@media print{.v3-codeblock__pre code[data-language] span{color:var(--ink)!important}.v3-codeblock__pre code[data-language] [data-highlighted-line]{border-left-color:var(--ink)!important;background:#0000000a!important}.v3-codeblock__pre mark[data-highlighted-chars]{border-bottom-color:var(--ink)!important;background:#0000000f!important}}.v3-steps{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-steps__item{grid-template-columns:48px 1fr;padding-bottom:28px;display:grid;position:relative}.v3-steps__item:before{content:"";border-left:1px dashed var(--border);width:0;position:absolute;top:32px;bottom:0;left:17px}.v3-steps__item--last:before{display:none}.v3-steps__item--last{padding-bottom:0}.v3-steps__number{border:1px solid var(--accent);width:34px;height:34px;font-family:var(--mono);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.v3-steps__body{padding-top:5px}.v3-steps__title{font-family:var(--text);color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.5}.v3-steps__desc{font-family:var(--text);color:var(--ink-2);font-size:16px;line-height:1.7}.v3-steps__desc p{margin:0 0 8px}.v3-steps__desc p:last-child{margin-bottom:0}.v3-steps__desc code{font-family:var(--mono);background:var(--code-bg);padding:2px 6px;font-size:.88em}.v3-accordion{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-accordion__item{border-bottom:.5px solid var(--border)}.v3-accordion__item:first-child{border-top:.5px solid var(--border)}.v3-accordion__summary{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.v3-accordion__title{font-family:var(--text);color:var(--ink);font-size:16px;font-weight:500;line-height:1.5}.v3-accordion__icon{flex-shrink:0;width:14px;height:14px;margin-left:16px;position:relative}.v3-accordion__icon:before{content:"";background:var(--ink-3);width:14px;height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.v3-accordion__icon:after{content:"";background:var(--ink-3);width:1px;height:14px;transition:opacity .15s;position:absolute;top:0;left:50%;transform:translate(-50%)}.v3-accordion__item.is-open .v3-accordion__icon:after{opacity:0}.v3-accordion__content{font-family:var(--text);color:var(--ink-2);padding:0 0 20px;font-size:16px;line-height:1.7;display:none}.v3-accordion__item.is-open>.v3-accordion__content{display:block}.v3-accordion__content p{margin:0 0 8px}.v3-accordion__content p:last-child{margin-bottom:0}.v3-accordion__content code{font-family:var(--mono);background:var(--code-bg);padding:2px 6px;font-size:.88em}.v3-progress{background:var(--accent);transform-origin:0;z-index:9999;pointer-events:none;will-change:transform;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}@media print{.v3-progress{display:none!important}}.v3-kbd{font-family:var(--mono);color:var(--ink);background:var(--code-bg);border:.5px solid var(--border);vertical-align:baseline;white-space:nowrap;border-bottom-width:2px;border-radius:3px;padding:3px 6px;font-size:11px;font-weight:500;line-height:1;display:inline-block}.v3-badge{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;border:.5px solid var(--border);color:var(--ink);vertical-align:baseline;white-space:nowrap;padding:2px 6px;font-size:10px;font-weight:600;display:inline}.v3-badge--new,.v3-badge--beta{color:var(--accent);border-color:var(--accent)}.v3-badge--optional{color:var(--ink-3);border-color:var(--border)}.v3-badge--deprecated{color:var(--ink-3);border-color:var(--border);text-decoration:line-through}.v3-compare{max-width:var(--content-w);padding:0 var(--reading-px);grid-template-columns:1fr auto 1fr;column-gap:0;margin:40px auto;display:grid}.v3-compare__slot{min-width:0}.v3-compare__label{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:10px;font-weight:600}.v3-compare__body{font-family:var(--text);color:var(--ink-2);font-size:16px;line-height:1.7}.v3-compare__body p{margin:0 0 8px}.v3-compare__body p:last-child{margin-bottom:0}.v3-compare__body code{font-family:var(--mono);background:var(--code-bg);padding:2px 6px;font-size:.88em}.v3-compare__divider{border-left:.5px solid var(--border);align-self:stretch;width:0;margin:0 20px}@media (max-width:540px){.v3-compare{grid-template-columns:1fr;row-gap:24px}.v3-compare__divider{display:none}}.v3-dl{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-dl__entry{border-bottom:.5px solid var(--border);grid-template-columns:160px 1fr;column-gap:24px;padding:14px 0;display:grid}.v3-dl__entry:first-child{border-top:.5px solid var(--border)}.v3-dl__term{font-family:var(--mono);color:var(--ink);padding-top:2px;font-size:14px;font-weight:600;line-height:1.6}.v3-dl__desc{font-family:var(--text);color:var(--ink-2);margin:0;font-size:16px;line-height:1.6}.v3-dl__desc code{font-family:var(--mono);background:var(--code-bg);padding:2px 6px;font-size:.88em}@media (max-width:540px){.v3-dl__entry{grid-template-columns:1fr;row-gap:4px}}@media print{.v3-steps{break-inside:avoid;page-break-inside:avoid}.v3-steps__item:before{border-left-color:#c0bfba!important}.v3-steps__number{border-color:var(--ink)!important;color:var(--ink)!important}.v3-accordion__item{break-inside:avoid;page-break-inside:avoid}.v3-accordion__content{display:block!important}.v3-accordion__icon{display:none!important}.v3-accordion__summary{cursor:default}.v3-compare,.v3-dl{break-inside:avoid;page-break-inside:avoid}}.v3-figure[data-lightbox-src] .v3-figure__img{cursor:zoom-in}.v3-lightbox{z-index:99999;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out lightbox-in;display:flex;position:fixed;inset:0}.v3-lightbox__img{object-fit:contain;border-radius:2px;max-width:100%;max-height:100%;box-shadow:0 8px 48px #0006}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@media print{.v3-lightbox{display:none!important}}.v3-section__number:before{content:"";background:var(--accent);width:28px;height:1px;margin-bottom:20px;display:block}.v3-page>span[data-i18n-lang]{max-width:var(--content-w);padding:0 var(--reading-px);font-family:var(--text);color:var(--ink-2);margin:0 auto 22px;font-size:16px;line-height:1.75;display:block}.v3-callout--note .v3-callout__inner{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-callout--note .v3-callout__inner{background:color-mix(in srgb, var(--accent) 6%, transparent)}}.v3-callout--note .v3-callout__inner{border-left-color:var(--accent)}.v3-callout--note .v3-callout__label{color:var(--accent)}:root{--callout-tip:#3a8f6a}:root[data-theme=dark]{--callout-tip:#5ab88a}.v3-callout--tip .v3-callout__inner{background:var(--callout-tip)}@supports (color:color-mix(in lab, red, red)){.v3-callout--tip .v3-callout__inner{background:color-mix(in srgb, var(--callout-tip) 7%, transparent)}}.v3-callout--tip .v3-callout__inner{border-left-color:var(--callout-tip)}.v3-callout--tip .v3-callout__label{color:var(--callout-tip)}:root{--callout-warn:#bf4d4d}:root[data-theme=dark]{--callout-warn:#e07070}.v3-callout--warn .v3-callout__inner{background:var(--callout-warn)}@supports (color:color-mix(in lab, red, red)){.v3-callout--warn .v3-callout__inner{background:color-mix(in srgb, var(--callout-warn) 6%, transparent)}}.v3-callout--warn .v3-callout__inner{border-left-color:var(--callout-warn)}.v3-callout--warn .v3-callout__label{color:var(--callout-warn)}@media print{.v3-callout__inner{background:0 0!important;border-left-width:2px!important;border-radius:0!important;padding:8px 0 8px 16px!important}}.v3-checklist{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto;list-style:none}.v3-checklist__item{border-bottom:.5px solid var(--border);align-items:baseline;gap:12px;padding:8px 0;display:flex}.v3-checklist__item:last-child{border-bottom:none}.v3-checklist__marker{border:1.5px solid var(--ink-3);border-radius:3px;flex-shrink:0;width:16px;height:16px;position:relative;top:3px}.v3-checklist__item.is-done .v3-checklist__marker{border-color:var(--callout-tip,#3a8f6a);background:var(--callout-tip,#3a8f6a)}.v3-checklist__item.is-done .v3-checklist__marker:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:1px;left:3.5px;transform:rotate(40deg)}.v3-checklist__body{font-family:var(--text);color:var(--ink-2);font-size:16px;line-height:1.6}.v3-checklist__item.is-done .v3-checklist__body{color:var(--ink-3)}.v3-linkcard{max-width:var(--content-w);border:.5px solid var(--border);color:inherit;border-radius:4px;align-items:center;margin:24px auto;padding:16px 20px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.v3-linkcard:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-linkcard:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}}.v3-linkcard__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.v3-linkcard__title{font-family:var(--text);color:var(--ink);font-size:16px;font-weight:600;line-height:1.4}.v3-linkcard__desc{font-family:var(--text);color:var(--ink-3);font-size:14px;line-height:1.5}.v3-linkcard__arrow{color:var(--ink-3);flex-shrink:0;margin-left:16px;font-size:18px;transition:color .15s,transform .15s}.v3-linkcard:hover .v3-linkcard__arrow{color:var(--accent);transform:translate(3px)}@media (max-width:540px){.v3-linkcard{margin-left:var(--reading-px);margin-right:var(--reading-px)}}@media print{.v3-checklist__item{break-inside:avoid}.v3-checklist__item.is-done .v3-checklist__marker{background:#333!important;border-color:#333!important}.v3-linkcard{page-break-inside:avoid;border:.5px solid #999}.v3-linkcard:after{content:" (" attr(href) ")";font-family:var(--mono);color:#666;font-size:10px}.v3-linkcard__arrow{display:none}}.v3-promptbox{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-promptbox__frame{border:.5px solid var(--border);border-left:2.5px solid var(--accent);background:var(--accent);border-radius:0 4px 4px 0;padding:16px 20px;position:relative}@supports (color:color-mix(in lab, red, red)){.v3-promptbox__frame{background:color-mix(in srgb, var(--accent) 4%, transparent)}}.v3-promptbox__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.v3-promptbox__label{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.v3-promptbox__model{font-family:var(--mono);color:var(--ink-3);border:.5px solid var(--border);border-radius:2px;padding:2px 8px;font-size:10px}.v3-promptbox__copy{font-family:var(--mono);color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:none;padding:2px 6px;font-size:10px;transition:opacity .2s;position:absolute;bottom:10px;right:12px}.v3-promptbox__frame:hover .v3-promptbox__copy{opacity:1}.v3-promptbox__text{font-family:var(--text);color:var(--ink);white-space:pre-wrap;word-wrap:break-word;background:0 0;border:none;margin:0;padding:0;font-size:15px;line-height:1.7;overflow:visible}.v3-gallery{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-gallery__grid{gap:12px;display:grid}.v3-gallery__item[data-lightbox-src]{cursor:zoom-in}.v3-gallery__item .asset-frame{border-radius:4px;overflow:hidden}.v3-gallery__caption{font-family:var(--text);color:var(--ink-3);text-align:center;margin-top:6px;font-size:13px;line-height:1.5}.v3-gallery__fcaption{font-family:var(--text);color:var(--ink-3);text-align:center;margin-top:12px;font-size:13px}@media (max-width:540px){.v3-gallery__grid{grid-template-columns:repeat(2,1fr)!important}}.v3-showcase{max-width:var(--content-w);border:.5px solid var(--border);color:inherit;border-radius:4px;align-items:center;gap:14px;margin:12px auto;padding:14px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}@media (max-width:540px){.v3-showcase{margin-left:var(--reading-px);margin-right:var(--reading-px)}}.v3-showcase:hover{border-color:var(--accent);box-shadow:0 2px 8px var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-showcase:hover{box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 10%, transparent)}}.v3-showcase__type{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border:.5px solid var(--border);text-align:center;border-radius:2px;flex-shrink:0;min-width:52px;padding:4px 8px;font-size:9px;font-weight:700}.v3-showcase__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.v3-showcase__title{font-family:var(--text);color:var(--ink);font-size:15px;font-weight:600;line-height:1.4}.v3-showcase__desc{font-family:var(--text);color:var(--ink-3);font-size:13px;line-height:1.4}.v3-showcase__arrow{font-family:var(--mono);color:var(--ink-3);flex-shrink:0;font-size:14px;transition:transform .15s,color .15s}.v3-showcase:hover .v3-showcase__arrow{color:var(--accent);transform:translate(3px)}.v3-showcase--web .v3-showcase__type{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-showcase--web .v3-showcase__type{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}}.v3-showcase--repo .v3-showcase__type,.v3-showcase--commit .v3-showcase__type{color:var(--callout-tip);border-color:var(--callout-tip)}@supports (color:color-mix(in lab, red, red)){.v3-showcase--repo .v3-showcase__type,.v3-showcase--commit .v3-showcase__type{border-color:color-mix(in srgb, var(--callout-tip) 40%, transparent)}}.v3-showcase--slides .v3-showcase__type,.v3-showcase--sheet .v3-showcase__type{color:var(--callout-warn);border-color:var(--callout-warn)}@supports (color:color-mix(in lab, red, red)){.v3-showcase--slides .v3-showcase__type,.v3-showcase--sheet .v3-showcase__type{border-color:color-mix(in srgb, var(--callout-warn) 40%, transparent)}}@media print{.v3-promptbox__copy{display:none}.v3-promptbox__frame{border-left-width:2px;background:0 0!important}.v3-gallery{break-inside:avoid}.v3-showcase{break-inside:avoid;border-radius:0}.v3-showcase__arrow{display:none}.v3-showcase:after{content:" [" attr(href) "]";font-family:var(--mono);color:#666;word-break:break-all;font-size:10px}}.an-shell{max-width:960px;font-family:var(--text);color:var(--ink);margin:0 auto;padding:48px 24px 96px}.an-auth{text-align:center;max-width:360px;margin:120px auto 0}.an-auth__title{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:700}.an-auth__hint{color:var(--ink-2);margin:0 0 24px;font-size:14px}.an-auth__form{gap:8px;display:flex}.an-auth__input{font-family:var(--mono);background:var(--bg);color:var(--ink);border:.5px solid var(--border);border-radius:4px;outline:none;flex:1;padding:10px 14px;font-size:13px}.an-auth__input:focus{border-color:var(--accent)}.an-auth__btn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:12px;font-weight:600}.an-auth__btn:hover{opacity:.85}.an-header{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;margin:0 0 36px;padding:0 0 20px;display:flex}.an-header__title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.an-header__controls{align-items:center;gap:8px;display:flex}.an-select{font-family:var(--mono);background:var(--bg);color:var(--ink);border:.5px solid var(--border);cursor:pointer;border-radius:4px;padding:8px 12px;font-size:12px}.an-select--book{min-width:140px;max-width:200px}.an-btn{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:12px;font-weight:600}.an-btn:hover{opacity:.85}.an-btn:disabled{opacity:.5;cursor:wait}.an-btn--text{color:var(--accent);text-transform:none;background:0 0;padding:4px 0;font-weight:500}.an-btn--text:hover{text-decoration:underline}.an-error{font-family:var(--mono);color:var(--accent);background:var(--accent);font-size:13px}@supports (color:color-mix(in lab, red, red)){.an-error{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.an-error{border:.5px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.an-error{border:.5px solid color-mix(in srgb, var(--accent) 30%, transparent)}}.an-error{border-radius:4px;margin:0 0 24px;padding:12px 16px}.an-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 36px;display:grid}.an-card{border:.5px solid var(--border);border-radius:4px;flex-direction:column;gap:4px;padding:20px 16px;display:flex}.an-card__value{font-family:var(--mono);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1}.an-card__label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:10px;font-weight:600}.an-section{margin:0 0 36px}.an-section__title{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2);border-bottom:.5px solid var(--border);margin:0 0 16px;padding:0 0 8px;font-size:11px;font-weight:600}.an-chart{border-bottom:.5px solid var(--border);align-items:flex-end;gap:2px;height:160px;padding:0 0 24px;display:flex}.an-chart__bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.an-chart__bar{background:var(--accent);border-radius:2px 2px 0 0;width:100%;max-width:24px;min-height:2px;transition:height .3s}.an-chart__bar:hover{opacity:.75}.an-chart__label{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:9px;position:absolute;bottom:-20px}.an-table{border-collapse:collapse;width:100%;font-size:13px}.an-table th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;border-bottom:.5px solid var(--border);padding:8px 12px;font-size:10px;font-weight:600}.an-table td{border-bottom:.5px solid var(--border);padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.an-table td{border-bottom:.5px solid color-mix(in srgb, var(--border) 50%, transparent)}}.an-table td{vertical-align:top}.an-table code{font-family:var(--mono);color:var(--accent);font-size:12px}.an-table__clickable{cursor:pointer}.an-table__clickable:hover td{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.an-table__clickable:hover td{background:color-mix(in srgb, var(--accent) 5%, transparent)}}.an-ua{text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-family:var(--mono);color:var(--ink-3);font-size:11px;overflow:hidden}.an-table--agents time{font-family:var(--mono);white-space:nowrap;font-size:12px}.an-breadcrumb{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:8px;margin:0 0 24px;font-size:13px;display:flex}.an-breadcrumb code{color:var(--ink)}.an-empty{color:var(--ink-3);padding:24px 0;font-size:14px;font-style:italic}@media (max-width:600px){.an-cards{grid-template-columns:repeat(2,1fr)}.an-header{flex-direction:column;align-items:flex-start;gap:12px}.an-chart{height:120px}.an-table{font-size:12px}.an-table th,.an-table td{padding:8px 6px}.an-ua{max-width:160px}}.an-auth__form--stack{flex-direction:column}.an-auth__form--stack .an-auth__btn{width:100%}.an-auth code{font-family:var(--mono);color:var(--accent);font-size:12px}.an-auth__error,.an-account__message{font-family:var(--mono);color:var(--accent);margin:12px 0 0;font-size:12px}.an-account{padding-top:4px}.an-account__form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;display:grid}@media (max-width:760px){.an-account__form{grid-template-columns:1fr}}.an-panel{border-bottom:.5px solid var(--border);margin:0 0 52px;padding:0 0 44px}.an-tabs{border:.5px solid var(--border);border-radius:4px;grid-template-columns:repeat(3,minmax(104px,1fr));gap:2px;margin:0 0 28px;padding:2px;display:inline-grid}.an-tab{min-height:34px;color:var(--ink-2);cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:2px;padding:0 16px;font-size:11px;font-weight:600}.an-tab.is-active{background:var(--ink);color:var(--bg)}.an-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.an-panel__head{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 18px;display:flex}.an-panel__eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:10px;font-weight:600}.an-panel__title{font-family:var(--serif);margin:0;font-size:36px;font-weight:500;line-height:1.05}.an-panel .an-cards{margin-bottom:32px}.an-cards--compact{grid-template-columns:repeat(auto-fit,minmax(180px,240px))}@media (max-width:600px){.an-panel{margin-bottom:40px;padding-bottom:32px}.an-panel__head{display:block}.an-tabs{display:grid}.an-panel__eyebrow{margin-bottom:8px}.an-panel__title{font-size:30px}.an-cards--compact{grid-template-columns:repeat(2,1fr)}}.an-header{display:block}.an-header__top{justify-content:space-between;align-items:center;gap:24px;margin:0 0 18px;display:flex}.an-header .an-tabs{margin:0}.an-header__nav{align-items:center;gap:18px;display:flex}.an-header__logout{white-space:nowrap}.an-header__controls{flex-wrap:wrap;justify-content:flex-end}@media (max-width:600px){.an-header,.an-header__top{display:block}.an-header .an-tabs{margin-top:16px}.an-header__nav{display:block}.an-header__logout{margin-top:14px}.an-header__controls{justify-content:flex-start}}.an-quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px;display:grid}.an-quick__item{border:.5px solid var(--border);border-radius:4px;gap:4px;padding:14px 12px;display:grid}.an-quick__label,.an-quick__delta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.an-quick__value{font-family:var(--mono);font-size:24px;line-height:1}@media (max-width:600px){.an-quick{grid-template-columns:1fr}}.an-table__primary{color:var(--ink);margin:0 0 3px;font-weight:600;display:block}.an-account__status{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px;display:grid}.an-account__status div{border:.5px solid var(--border);border-radius:4px;padding:14px 12px}.an-account__status span,.an-account__status strong{display:block}.an-account__status span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10px}@media (max-width:600px){.an-account__status{grid-template-columns:1fr}}.v3-header.is-scrolled{-webkit-backdrop-filter:saturate(140%)blur(12px)}.v3-progress{height:3px}@media (max-width:768px){.v3-help-hint{display:none}}.book-detail__btn--primary{background:var(--ink);color:var(--bg);border:1px solid var(--ink);letter-spacing:.18em;padding:10px 20px;text-decoration:none;transition:background .16s,color .16s,border-color .16s}.book-detail__btn--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);text-decoration:none;text-decoration-thickness:initial}.book-detail+.v3-divider{margin:56px 0}.back-to-top{z-index:80;background:var(--bg);border:.5px solid var(--border);width:36px;height:36px;color:var(--ink-3);cursor:pointer;opacity:0;pointer-events:none;justify-content:center;align-items:center;font-size:16px;transition:opacity .2s,color .12s,border-color .12s;display:flex;position:fixed;bottom:28px;right:28px}.back-to-top.is-visible{opacity:1;pointer-events:auto}.back-to-top:hover{color:var(--accent);border-color:var(--accent)}@media (min-width:769px){.back-to-top{bottom:70px}}@media print{.back-to-top{display:none!important}}.ch-nav__index .accent{color:var(--accent)}.ch-lang-notice{max-width:var(--content-w);border:.5px solid var(--accent);border-left:3px solid var(--accent);background:var(--accent);margin:0 auto 32px;padding:14px 20px}@supports (color:color-mix(in lab, red, red)){.ch-lang-notice{background:color-mix(in oklab, var(--accent) 6%, var(--bg))}}.ch-lang-notice{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:600;line-height:1.6}.ch-lang-notice p{margin:0}.ch-lang-notice strong{color:var(--accent)}@media print{.ch-lang-notice{display:none!important}}.v3-footer__right a{transition:color .12s}html{scroll-behavior:smooth;scroll-padding-top:80px}.v3-refs__item,.v3-h3{scroll-margin-top:12px}.v3-fn-ref{background:var(--accent);border-radius:2px;margin:0 2px;padding:1px 4px;font-size:.88em}@supports (color:color-mix(in lab, red, red)){.v3-fn-ref{background:color-mix(in oklab, var(--accent) 12%, transparent)}}.v3-fn{white-space:nowrap}.v3-checklist__body code{font-family:var(--mono);background:var(--code-bg);border-radius:2px;padding:2px 6px;font-size:.88em}@media print{html{scroll-behavior:auto}}.book-detail__cover .cover-art{--cover-logo-size:72px;--cover-logo-width:min(100%, 340px);--cover-combine-icon-size:72px;--cover-combine-text-size:28px;--cover-combine-gap:12px}.book-detail__cover .cover-art__subtitle{-webkit-line-clamp:3}.featured__cover .cover-art{--cover-subtitle-display:none}.cover-art__subtitle [lang=zh]{font-style:normal}.print-cover__art .cover-art{--cover-logo-size:72px;--cover-logo-width:min(100%, 340px);--cover-combine-icon-size:72px;--cover-combine-text-size:28px;--cover-combine-gap:12px}.print-cover__art .cover-art__subtitle{-webkit-line-clamp:3}@media (max-width:1080px){.book-detail__cover{max-width:400px}}.book-detail__actions{flex-wrap:wrap;align-items:center}.book-detail__btn{white-space:nowrap}.lib-search{margin-bottom:12px}.lib-search__row{align-items:center;gap:12px;display:flex}.lib-search__input{flex:1;min-width:0}.lib-empty__action{border:0;border-bottom:.5px solid var(--ink-3);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.lib-empty__action{border-bottom:.5px solid color-mix(in oklab, var(--ink-3) 55%, transparent)}}.lib-empty__action{color:var(--ink-3);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;padding:0 0 4px;font-size:9px;font-weight:600;text-decoration:none;transition:color .12s,border-color .12s}.lib-empty__action:hover,.lib-empty__action:focus-visible{color:var(--accent);border-color:var(--accent);outline:0}.lib-results-count{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 22px;font-size:9px;font-weight:600}.lib-empty__actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px;display:flex}.an-header__status{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 0;font-size:10px;font-weight:600}.an-header__status.is-updating{color:var(--accent)}.an-table__clickable:focus-visible{outline:0}.an-table__clickable:focus-visible td{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.an-table__clickable:focus-visible td{background:color-mix(in srgb, var(--accent) 5%, transparent)}}.an-table__clickable:focus-visible td:first-child{box-shadow:inset 2px 0 0 var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none){.ch-nav__peek{opacity:1;pointer-events:auto;width:auto;max-width:none;box-shadow:none;letter-spacing:-.01em;color:var(--ink-3);background:0 0;border:0;margin-top:6px;padding:0;font-size:12px;line-height:1.35;display:block;position:static;transform:none}}.v3-header__search{gap:7px;width:auto}.v3-header__search-kbd{font-family:var(--mono);letter-spacing:.04em;text-transform:none;color:var(--ink-3);border:.5px solid var(--border);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.5}@media (max-width:760px){.v3-header__search{gap:0}.v3-header__search-kbd{display:none}}@media (pointer:coarse){.v3-header__search{gap:0}.v3-header__search-kbd{display:none}.v3-header__search,.v3-header__lang,.v3-header__theme{position:relative}.v3-header__search:after,.v3-header__lang:after,.v3-header__theme:after{content:"";width:max(100%,30px);height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:760px){.home-hero__statement{font-size:33px}.featured__title{font-size:30px}.book-row__title,.lib-row__title{font-size:23px}}@media (max-width:600px){.home-hero{padding-top:46px}.home-hero__eyebrow{margin:0 0 18px}.home-hero__statement{margin:0 0 22px;font-size:30px;line-height:1.14}.home-hero__lede{margin:0 0 30px;font-size:17px;line-height:1.5}.v3-divider{margin:42px 0}.featured__link{gap:20px}.featured__cover{max-width:176px;margin:0 auto}.featured__meta{padding-top:0}.featured__eyebrow{margin:0 0 12px}.featured__title{margin:0 0 12px;font-size:26px;line-height:1.14}.featured__lede{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 18px;font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden}.featured__stats{margin:0 0 16px}.book-row,.lib-row{grid-template-columns:76px 1fr;align-items:start;column-gap:16px;padding:20px 0;display:grid}.book-row__cover,.lib-row__cover{width:76px;margin:0}.book-row__body,.lib-row__body{min-width:0;padding-top:1px}.book-row__eyebrow,.lib-row__eyebrow{margin:0 0 6px}.book-row__title,.lib-row__title{margin:0 0 6px;font-size:18px;line-height:1.22}.book-row__lede,.lib-row__lede{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.lib-cover{padding-top:56px}.elsewhere__row{grid-template-columns:1fr;align-items:start;gap:6px 0}}.v3-diagram{max-width:var(--content-w);padding:0 var(--reading-px);margin:40px auto}.v3-diagram__frame svg{width:100%;height:auto;display:block}.v3-diagram svg{font-family:var(--sans)}.v3-diagram svg text{fill:var(--ink)}.v3-diagram svg .dgm-muted{fill:var(--ink-3)}.v3-diagram svg .dgm-ink-2{fill:var(--ink-2)}.v3-diagram svg .dgm-accent{fill:var(--accent)}.v3-diagram svg .dgm-card{fill:var(--code-bg);stroke:var(--border);stroke-width:1.5px}.v3-diagram svg .dgm-tint{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-width:1.5px}.v3-diagram svg .dgm-dot{fill:var(--ink-3)}.v3-diagram svg .dgm-line{fill:none;stroke:var(--border);stroke-width:1.5px}.v3-diagram svg .dgm-rule{fill:none;stroke:var(--rule);stroke-width:1.5px;stroke-dasharray:5 6}.v3-diagram svg .dgm-arrow{fill:var(--ink-2)}.v3-diagram svg .dgm-arrowline{fill:none;stroke:var(--ink-2);stroke-width:2px}.v3-stats{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-stats__grid{background:var(--border);border:.5px solid var(--border);border-radius:0;gap:.5px;display:grid;overflow:hidden}.v3-stats__value{font-family:var(--sans);color:var(--ink);margin:0;font-size:1.75rem;font-weight:600;line-height:1.12}.v3-stats__unit{color:var(--ink-3);margin-left:4px;font-size:.85rem;font-weight:400}.v3-stats__label{font-family:var(--sans);color:var(--ink-2);margin:7px 0 0;font-size:.8rem}.v3-stats__sub{color:var(--ink-3);margin:2px 0 0;font-size:.72rem}.v3-stats__caption{text-align:center;max-width:60ch;font-family:var(--sans);color:var(--ink-3);margin:12px auto 0;font-size:.82rem}@media (max-width:600px){.v3-stats__grid{grid-template-columns:repeat(2,1fr)!important}}.v3-pricetable{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-pricetable__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.v3-pricetable__label{font-family:var(--sans);letter-spacing:.04em;color:var(--ink-2);font-size:.8rem;font-weight:600}.v3-pricetable__asof{font-family:var(--mono);color:var(--ink-3);border:.5px solid var(--border);white-space:nowrap;border-radius:0;padding:1px 6px;font-size:.7rem}.v3-pricetable__table th,.v3-pricetable__table td{text-align:right;border-bottom:1px solid var(--border);padding:10px 14px}.v3-pricetable__table thead th{background:var(--code-bg);letter-spacing:.03em;color:var(--ink-3);font-size:.72rem;font-weight:600}.v3-pricetable__num{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.v3-pricetable__note{font-family:var(--sans);color:var(--ink-3);margin-top:2px;font-size:.72rem;display:block}.v3-pricetable__caption{font-family:var(--sans);color:var(--ink-3);margin:10px 0 0;font-size:.78rem}.v3-pricetable__unit{font-family:var(--mono)}.v3-timeline{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-timeline__list{margin:0;padding:0;list-style:none}.v3-timeline__item{padding:0 0 22px 30px;position:relative}.v3-timeline__item:last-child{padding-bottom:0}.v3-timeline__item:before{content:"";background:var(--border);width:1.5px;position:absolute;top:5px;bottom:-5px;left:5px}.v3-timeline__item:last-child:before{display:none}.v3-timeline__dot{border:2px solid var(--rule);background:var(--bg);border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:0}.v3-timeline__body{flex-direction:column;display:flex}.v3-timeline__date{font-family:var(--mono);letter-spacing:.03em;color:var(--ink-3);font-size:.72rem}.v3-timeline__note{color:var(--ink-2);margin-top:1px;font-size:.82rem}.v3-timeline__caption{font-family:var(--sans);color:var(--ink-3);margin:12px 0 0;font-size:.78rem}.v3-quadrant{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-quadrant__grid{background:var(--border);border:.5px solid var(--border);border-radius:0;grid-template-columns:1fr 1fr;gap:.5px;display:grid;overflow:hidden}.v3-barcompare{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto}.v3-barcompare__rows{flex-direction:column;gap:10px;display:flex}.v3-barcompare__label{font-family:var(--sans);color:var(--ink-2);text-align:right;font-size:.82rem}.v3-barcompare__track{background:var(--code-bg);border-radius:0;height:14px;overflow:hidden}.v3-barcompare__value{font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:.85rem}.v3-barcompare__caption{font-family:var(--sans);color:var(--ink-3);margin:12px 0 0;font-size:.78rem}.v3-barcompare__unit{font-family:var(--mono)}@supports (color:color-mix(in lab, red, red)){.v3-callout--key .v3-callout__inner{background:color-mix(in srgb, var(--accent) 11%, transparent)}}:root{--code-surface:#eee8dd;--code-surface-soft:#f3efe7;--code-text:#2d2926;--code-rule:#b65a43}:root[data-theme=dark]{--code-surface:#111413;--code-surface-soft:#171918;--code-text:#e7dfd4;--code-rule:#e18a6f}.v3-codeblock__frame{border-left-color:var(--code-rule);background:var(--code-surface-soft);padding:18px 22px}.v3-codeblock__pre,.v3-codeblock__pre code[data-language]{color:var(--code-text)}.v3-callout__inner{border-left-width:1.5px;border-radius:0;padding:2px 0 2px 24px}.v3-callout--note .v3-callout__inner,.v3-callout--tip .v3-callout__inner,.v3-callout--warn .v3-callout__inner{background:0 0}.v3-promptbox__frame{border:0;border-left:1.5px solid var(--accent);background:var(--accent);border-radius:0;padding:18px 24px}@supports (color:color-mix(in lab, red, red)){.v3-promptbox__frame{background:color-mix(in oklab, var(--accent) 7%, transparent)}}.v3-promptbox__model{border-radius:0}.prose :not(pre)>code{background:var(--code-surface)}@supports (color:color-mix(in lab, red, red)){.prose :not(pre)>code{background:color-mix(in srgb, var(--code-surface) 76%, transparent)}}.prose :not(pre)>code{border-bottom:.5px solid var(--code-rule)}@supports (color:color-mix(in lab, red, red)){.prose :not(pre)>code{border-bottom:.5px solid color-mix(in srgb, var(--code-rule) 30%, transparent)}}.prose :not(pre)>code{color:var(--code-text);border-radius:0;padding:2px 6px;font-size:.86em}.v3-footer{border-top:.5px solid var(--border)}.lib-tag.is-active{color:var(--accent);border-color:var(--accent);box-shadow:inset 0 -1.5px 0 var(--accent);background:0 0}.lib-search{border-top:0;border-bottom:.5px solid var(--rule)}.v3-kicker{border-top-color:var(--rule);padding-top:24px}.v3-kicker__text{font-size:26px;line-height:1.45}.v3-kicker__sig{margin-top:18px;font-size:10px}.v3-quote__inner{padding-left:24px}.v3-quote__source{font-size:10px}.v3-cover__eyebrow,.v3-section__number{letter-spacing:.25em;font-size:10px}.v3-cover__lede{font-size:20px;line-height:1.65}.v3-list__marker{font-size:12px}.v3-figure__caption{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;text-align:right;font-size:10px;font-style:normal;font-weight:600}.v3-gallery__grid{gap:18px}.v3-gallery__item .asset-frame{border-radius:0}.v3-gallery__caption,.v3-gallery__fcaption{font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;text-align:right;font-size:10px;font-weight:600}.v3-section__title{letter-spacing:0;font-style:normal}.v3-h3{font-style:normal}@media screen{.v3-section__title{font-size:clamp(1.72rem,3vw,2.18rem);line-height:1.12}.v3-h3{font-size:clamp(1.22rem,2vw,1.42rem)}}.v3-cover__title,.v3-h3__anchor,.book-detail__title,.discussion__title,.section-head__title,.v3-help__title,.v3-search__item-title,.v3-search__empty-title,.ch-toc__title,.v3-refs__title,.next-book__title,.home-hero__statement,.featured__title,.book-row__title,.lib-row__title,.lib-empty__text,.nf__title,.index-hero__title,.nav-card__title,.tokens__title,.v3-chapter-draft__title,.ts-h1,.ts-h2,.ts-h3,.an-auth__title,.an-header__title,.an-card__value,.an-empty{letter-spacing:0;font-style:normal}.v3-table th,.v3-table td{border:.5px solid var(--border);vertical-align:top;padding:12px 16px}.v3-table thead th{background:var(--code-bg);border:.5px solid var(--border);padding-top:12px;padding-bottom:12px}.v3-table .num,.v3-table th.num{padding-right:16px}.v3-pricetable__table th,.v3-pricetable__table td{border:.5px solid var(--border)}.v3-table thead th,.v3-pricetable__table thead th{border-bottom:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){.v3-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--code-bg) 55%, transparent)}}.v3-pricetable__table tbody tr:nth-child(2n):not(.is-highlight) td{background:var(--code-bg)}@supports (color:color-mix(in lab, red, red)){.v3-pricetable__table tbody tr:nth-child(2n):not(.is-highlight) td{background:color-mix(in srgb, var(--code-bg) 55%, transparent)}}@media screen{:root{--content-w:840px}}:root[data-lang=en] .v3-cover__title{font-size:46px;line-height:1.12}@media screen{.v3-section{margin-top:56px;margin-bottom:40px}.v3-section__number{margin-bottom:24px}.v3-divider{margin:56px 0}.v3-divider+.v3-section{margin-top:0}}.v3-codeblock-captioned{margin:40px 0}.v3-codeblock-captioned>.v3-codeblock{margin-top:0;margin-bottom:0}.v3-codeblock-captioned>.v3-codeblock__caption{max-width:var(--content-w);padding:0 var(--reading-px);margin:12px auto 0}.v3-compare:has(.v3-codeblock){grid-template-columns:1fr;row-gap:28px}.v3-compare:has(.v3-codeblock)>.v3-compare__divider{display:none}.v3-compare:has(.v3-codeblock) .v3-codeblock{max-width:none;margin:8px 0 0;padding:0}.v3-compare:has(.v3-codeblock) .v3-codeblock__pre{white-space:pre;overflow-wrap:normal}:root{--page-max:1080px}.v3-footer{max-width:var(--page-max)}.home-hero__lede [lang=zh],.v3-kicker__text[lang=zh]{font-style:normal}.v3-search__item:focus-visible,.book-row:focus-visible,.lib-row:focus-visible,.ch-toc__link:focus-visible,.book-detail__btn:focus-visible,.featured__link:focus-visible,.v3-header__brand:focus-visible,.v3-header__search:focus-visible,.v3-header__back:focus-visible,.v3-header__library:focus-visible,.v3-header__about:focus-visible,.v3-header__theme:focus-visible,.v3-header__lang:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:720px){.v3-diagram__frame{overflow-x:auto}.v3-diagram__frame svg{min-width:640px}}.v3-promptbox__frame{background:var(--code-surface-soft);border-left:1.5px solid var(--accent);padding:14px 18px}.v3-promptbox__text{font-family:var(--mono);color:var(--code-text);white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;margin:0;padding:0;font-size:13px;line-height:1.95}.v3-promptbox__slot{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-promptbox__slot{background:color-mix(in srgb, var(--accent) 14%, transparent)}}.v3-promptbox__slot{color:var(--accent);padding:1px 5px}.v3-promptbox__header-right{align-items:center;gap:12px;display:flex}.v3-promptbox__copy{opacity:1;border:.5px solid var(--accent);color:var(--accent);padding:3px 9px;position:static}.v3-promptbox__copy:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-promptbox__copy:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.v3-promptbox__tabs{max-width:none;margin:0;padding:0}.v3-promptbox__tabs .v3-tabs__panel{padding:0}.v3-checklist__item{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}.v3-checklist__item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media (hover:hover){.v3-checklist__item:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-checklist__item:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}}.v3-checklist__item:hover .v3-checklist__marker{border-color:var(--accent)}}@media print{.v3-checklist__item{cursor:auto;background:0 0}}.v3-cover+.prose,.v3-cover+span[data-i18n-lang],.v3-cover+span[data-i18n-lang]+span[data-i18n-lang]{margin-top:32px}.v3-table{border:.5px solid var(--border);border-collapse:collapse;min-width:520px;font-family:var(--sans);font-size:.86rem}.v3-table th,.v3-table td{text-align:left;vertical-align:top;border:0;border-right:.5px solid var(--border);border-bottom:.5px solid var(--border);background:0 0;padding:10px 14px}.v3-table th:last-child,.v3-table td:last-child{border-right:0}.v3-table thead th{background:var(--code-bg);color:var(--ink-3);font-family:var(--sans);letter-spacing:.03em;text-transform:none;border-bottom:.5px solid var(--border);font-size:.72rem;font-weight:600}.v3-table tbody td{color:var(--ink-2);font-size:.86rem;line-height:1.6}.v3-table tbody td:first-child{color:var(--ink);font-weight:500}.v3-table tbody tr:nth-child(2n) td{background:0 0}.v3-table tbody tr:last-child td{border-bottom:0}.v3-table tbody code{font-family:var(--mono);color:var(--ink);background:0 0;padding:0;font-size:.82rem}.v3-diagram__frame{border:.5px solid var(--border);border-radius:0;padding:16px 18px}.v3-diagram__caption{text-align:center;max-width:60ch;font-family:var(--sans);color:var(--ink-3);margin:14px auto 0;font-size:.82rem;line-height:1.6}.v3-stats__grid{background:var(--border);border:.5px solid var(--border);border-radius:0;gap:.5px;overflow:hidden}.v3-stats__item{background:var(--bg);padding:16px 18px}.v3-stats__value{font-family:var(--sans);color:var(--ink);font-size:1.75rem;font-weight:600;line-height:1.12}.v3-stats__unit{color:var(--ink-3)}.v3-stats__label{color:var(--ink-2)}.v3-stats__sub,.v3-stats__caption{color:var(--ink-3)}.v3-pricetable__label{color:var(--ink-2)}.v3-pricetable__asof{color:var(--ink-3);border:.5px solid var(--border);border-radius:0;padding:1px 6px}.v3-pricetable__wrap{border:.5px solid var(--border);border-radius:0;overflow-x:auto}.v3-pricetable__table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.86rem}.v3-pricetable__table th,.v3-pricetable__table td{text-align:left;border:0;border-bottom:.5px solid var(--border);border-right:.5px solid var(--border);padding:10px 14px}.v3-pricetable__table th:last-child,.v3-pricetable__table td:last-child{border-right:0}.v3-pricetable__table thead th{background:var(--code-bg);color:var(--ink-3);letter-spacing:.03em;font-size:.72rem;font-weight:600}.v3-pricetable__th-model,.v3-pricetable__model{text-align:left}.v3-pricetable__num{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.v3-pricetable__model code{font-family:var(--mono);color:var(--ink);background:0 0;padding:0;font-size:.82rem}.v3-pricetable__note{color:var(--ink-3)}.v3-pricetable__table tbody tr:last-child td{border-bottom:0}.v3-pricetable__table tbody tr.is-highlight td{background:var(--row-hover)}.v3-pricetable__table tbody tr.is-highlight .v3-pricetable__model code{color:var(--accent);font-weight:600}.v3-pricetable__caption{color:var(--ink-3);text-align:right}.v3-timeline__item{margin:0;padding:0 0 26px 30px;position:relative}.v3-timeline__item:before{background:var(--border);width:1.5px;top:5px;bottom:-5px;left:5.25px}.v3-timeline__dot{border:1.5px solid var(--rule);background:var(--bg);border-radius:0;width:12px;height:12px;top:3px;left:0}.v3-timeline__item.is-current .v3-timeline__dot{background:var(--accent);border-color:var(--accent)}.v3-timeline__label{font-family:var(--sans);color:var(--ink);font-size:.95rem;font-weight:600}.v3-timeline__item.is-current .v3-timeline__label{color:var(--accent)}.v3-timeline__note{color:var(--ink-2)}.v3-timeline__caption,.v3-timeline__date{color:var(--ink-3)}.v3-quadrant__grid{background:var(--border);border:.5px solid var(--border);border-radius:0;gap:.5px;overflow:hidden}.v3-quadrant__cell{background:var(--bg);min-height:88px;padding:16px 18px}.v3-quadrant__cell.is-highlight{background:var(--row-hover)}.v3-quadrant__cell-label{font-family:var(--sans);color:var(--ink);margin-bottom:5px;font-size:.85rem;font-weight:600;display:block}.v3-quadrant__cell.is-highlight .v3-quadrant__cell-label{color:var(--accent)}.v3-quadrant__cell-body{color:var(--ink-2);font-size:.84rem;line-height:1.55;display:block}.v3-quadrant__caption{text-align:center;max-width:60ch;font-family:var(--sans);color:var(--ink-3);margin:12px auto 0;font-size:.8rem;line-height:1.6}.v3-barcompare__rows{border:.5px solid var(--border);flex-direction:column;gap:18px;padding:18px;display:flex}.v3-barcompare__row{grid-template-columns:1fr auto;align-items:baseline;gap:7px 12px;display:grid}.v3-barcompare__label{font-family:var(--sans);color:var(--ink-2);text-align:left;grid-area:1/1;font-size:.82rem}.v3-barcompare__track{background:var(--code-bg);border-radius:0;grid-area:2/1/3/3;height:20px;overflow:hidden}.v3-barcompare__fill{background:var(--ink-3);border-radius:0;min-width:2px;height:100%;display:block}.v3-barcompare__fill.is-accent{background:var(--accent)}.v3-barcompare__value{font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;text-align:right;grid-area:1/2;font-size:.85rem}.v3-barcompare__note{color:var(--ink-3);margin-left:5px;font-size:.75rem}.v3-barcompare__caption{color:var(--ink-3);text-align:right}.v3-callout--key .v3-callout__inner{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.v3-callout--key .v3-callout__inner{background:color-mix(in srgb, var(--accent) 11%, transparent)}}.v3-callout--key .v3-callout__inner{border-left-color:var(--accent)}.v3-callout--key .v3-callout__label{color:var(--accent)}.v3-callout--key .v3-callout__body{font-weight:500}.album{max-width:var(--content-w);padding:0 var(--reading-px);margin:32px auto 10px}.figcard{color:var(--ink);border:.5px solid var(--border);background:0 0;border-radius:0;position:relative;overflow:hidden}.figcard-slide{display:none}.figcard-slide.is-active{display:block}.figcard-body{grid-template-columns:minmax(0,.82fr) minmax(0,1.12fr);align-items:center;gap:36px;padding:32px 36px;display:grid}.figcard-eyebrow{color:var(--ink-3);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:600;line-height:1.3}.figcard-title{color:var(--ink);font-family:var(--serif);text-wrap:balance;margin:0 0 12px;font-size:30px;font-weight:600;line-height:1.12}.figcard-sub{max-width:32ch;color:var(--ink-2);text-wrap:pretty;margin:0;font-size:15px;line-height:1.6}.figcard-art{min-width:0}.figcard-art svg{width:100%;height:auto;max-height:280px;display:block}.figcard-strip{border-top:.5px solid var(--border);grid-template-columns:minmax(96px,1fr) auto minmax(96px,1fr);align-items:center;gap:16px;min-height:44px;padding:9px 20px;display:grid}.figcard-export{color:var(--accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:.5px solid #0000;justify-self:end;align-items:center;gap:6px;padding:0 0 1px;font-size:10.5px;font-weight:600;line-height:1.4;transition:color .15s,border-color .15s;display:inline-flex}.figcard-export:hover,.figcard-export:focus-visible{border-color:var(--accent)}.figcard-export:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}.figcard-export:disabled{opacity:.55;cursor:wait}.figcard-steps{color:var(--ink-3);font-family:var(--mono);letter-spacing:.14em;text-align:center;text-transform:uppercase;grid-column:2;justify-self:center;margin:0;padding:0;font-size:10.5px;font-weight:600;line-height:1.45}.figcard-steps .ar{color:var(--accent);padding:0 7px}.figcard-steps .seg{white-space:nowrap}.figcard-controls{justify-content:center;align-items:center;gap:22px;margin-top:20px;display:flex}.figcard-nav{width:38px;height:38px;color:var(--ink);background:var(--code-bg);border:.5px solid var(--border);font-family:var(--mono);cursor:pointer;border-radius:0;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:color .15s,border-color .15s;display:inline-flex}.figcard-nav:hover:not(:disabled),.figcard-nav:focus-visible:not(:disabled){color:var(--accent);border-color:var(--accent)}.figcard-nav:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}.figcard-nav:disabled{opacity:.35;cursor:default}.figcard-counter{min-width:7ch;color:var(--ink-3);font-family:var(--mono);letter-spacing:.2em;text-align:center;white-space:nowrap;font-size:11px;font-weight:600}.fig-svg{width:100%;height:auto;color:var(--ink);display:block}.fig-svg .fig-ink{fill:none;stroke:currentColor;opacity:.64}.fig-svg .fig-accent{fill:var(--accent);stroke:var(--accent)}.fig-svg .fig-accent-line{fill:none;stroke:var(--accent)}.fig-svg .fig-spine{stroke:var(--accent)}.fig-svg .fig-big{fill:var(--ink);font-family:var(--serif);font-size:30px}.fig-svg .fig-label{fill:var(--ink-2);font-family:var(--mono);letter-spacing:.08em;font-size:20px;font-weight:600}.fig-svg .fig-sub{fill:var(--ink-3);font-family:var(--mono);letter-spacing:.06em;font-size:15px}.fig-svg .fig-ord{fill:var(--accent);font-family:var(--mono);font-size:15px}@media (prefers-reduced-motion:no-preference){.figcard-slide.is-active{animation:.32s cubic-bezier(.2,.6,.2,1) both canonFigIn}}@keyframes canonFigIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.figcard-zoom{z-index:2;color:var(--ink-3);background:var(--code-bg);border:.5px solid var(--border);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:.72;border-radius:0;align-items:center;gap:5px;padding:3px 8px;font-size:10px;line-height:1.45;transition:border-color .15s,color .15s,opacity .15s;display:inline-flex;position:absolute;top:11px;right:13px}.figcard:hover .figcard-zoom,.figcard-zoom:hover,.figcard-zoom:focus-visible{color:var(--accent);border-color:var(--accent);opacity:1}.figcard-zoom:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}.lightbox{z-index:200;opacity:0;visibility:hidden;background:#000000b8;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:64px 40px;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0;overflow:auto}.lightbox.is-open{opacity:1;visibility:visible}.lb-card{flex:none;width:100%;max-width:1000px;margin:0}.lb-card .figcard{cursor:default;background:var(--code-bg)}.lightbox .figcard-body{gap:44px;padding:44px 48px}.lightbox .figcard-title{font-size:40px}.lightbox .figcard-art svg{max-height:52vh}.lb-controls{flex:none;justify-content:center;align-items:center;gap:24px;margin-top:4px;display:flex}.lb-controls.is-single{display:none}.lb-close{color:var(--ink);background:var(--code-bg);border:.5px solid var(--border);font-family:var(--mono);letter-spacing:.04em;cursor:pointer;border-radius:0;align-items:center;gap:7px;padding:8px 13px;font-size:12px;line-height:1.3;transition:color .15s,border-color .15s;display:inline-flex;position:fixed;top:22px;right:22px}.lb-close:hover,.lb-close:focus-visible{color:var(--accent);border-color:var(--accent)}.lb-close:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}@media (max-width:720px){.figcard-body{grid-template-columns:1fr;gap:22px;padding:24px}.figcard-title{font-size:22px}.figcard-export{justify-self:start;margin-left:12px}.figcard-strip{flex-wrap:wrap;justify-content:flex-start;gap:6px 12px;min-height:0;padding:10px 24px 12px;display:flex}.figcard-steps{text-align:left;flex:100%}.fig-svg .fig-label{font-size:26px}.fig-svg .fig-sub,.fig-svg .fig-ord{font-size:19px}.lightbox{padding:56px 18px}.lightbox .figcard-body{padding:26px 22px}.lightbox .figcard-title{font-size:24px}}@media print{.lightbox,.figcard-zoom,.figcard-controls,.figcard-export{display:none!important}.album{break-inside:avoid}}.about-page{padding-bottom:96px}.about-library{max-width:1080px;padding:104px var(--reading-px) 0;grid-template-columns:minmax(0,1fr) 340px;align-items:end;gap:72px;margin:0 auto 84px;display:grid}.about-library__copy{min-width:0}.about-library__eyebrow,.about-section__label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px;font-weight:600}.about-library__title{color:var(--ink);font-family:var(--serif);letter-spacing:0;text-wrap:balance;margin:30px 0 26px;font-size:clamp(58px,8vw,98px);font-style:normal;font-weight:500;line-height:.96}.about-library__lede{max-width:620px;color:var(--ink-2);font-family:var(--text);letter-spacing:0;text-wrap:pretty;margin:0;font-size:clamp(22px,3vw,31px);font-style:normal;font-weight:400;line-height:1.35}.about-library__byline{color:var(--ink-3);font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;margin:34px 0 0;font-size:11px;font-weight:600;line-height:1.8}.about-library__rule{background:var(--rule);border:0;width:96px;height:.5px;margin:38px 0}.about-library__intro{max-width:720px;color:var(--ink-2);font-family:var(--text);text-wrap:pretty;font-size:19px;line-height:1.78}.about-library__intro p{margin:0}.about-library__aside{border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);flex-direction:column;justify-content:flex-end;align-self:stretch;padding:0 0 2px;display:flex}.about-facts{margin:0}.about-facts__row{border-top:.5px solid var(--border);grid-template-columns:86px minmax(0,1fr);gap:18px;padding:15px 0;display:grid}.about-facts__row:first-child{border-top:0}.about-facts dt{color:var(--ink-3);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.5}.about-facts dd{min-width:0;color:var(--ink);font-family:var(--text);margin:0;font-size:16px;line-height:1.55}.about-facts a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}.about-facts a:hover,.about-facts a:focus-visible{color:var(--accent);text-decoration-thickness:2px}.about-section{max-width:var(--content-w);padding:0 var(--reading-px);margin:0 auto 78px}.about-section__head{border-top:.5px solid var(--rule);grid-template-columns:96px minmax(0,1fr);align-items:start;gap:28px;margin:0 0 30px;padding-top:28px;display:grid}.about-section__title{color:var(--ink);font-family:var(--serif);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(31px,4vw,44px);font-style:normal;font-weight:500;line-height:1.12}.about-section .prose{max-width:none;margin:0;padding:0}.about-section .prose+.prose{margin-top:22px}.about-routes{border-top:.5px solid var(--border);grid-template-columns:1fr;display:grid}.about-routes__row{border-bottom:.5px solid var(--border);grid-template-columns:150px minmax(0,1fr) 150px;align-items:baseline;gap:24px;padding:22px 0;display:grid}.about-routes__row h3{color:var(--ink);font-family:var(--serif);letter-spacing:0;margin:0;font-size:20px;font-style:normal;font-weight:600;line-height:1.25}.about-routes__row p{color:var(--ink-2);font-family:var(--text);margin:0;font-size:16px;line-height:1.65}.about-routes__row a,.about-routes__row span{color:var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.6}.about-routes__row a{text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:1px}.about-routes__row a:hover,.about-routes__row a:focus-visible{color:var(--accent);text-decoration-thickness:2px}.about-colophon{gap:36px;display:grid}.about-colophon .prose,.about-page .elsewhere{max-width:none;margin:0;padding:0}.about-page .wechat{max-width:var(--content-w);margin-top:42px}@media (max-width:860px){.about-library{grid-template-columns:1fr;gap:42px;padding-top:78px}.about-library__aside{max-width:420px}.about-routes__row{grid-template-columns:1fr;gap:8px}}@media (max-width:640px){.about-page{padding-bottom:72px}.about-library{margin-bottom:66px;padding-top:68px}.about-library__title{margin-top:24px;font-size:clamp(48px,16vw,62px)}.about-library__lede{font-size:21px}.about-library__intro{font-size:18px}.about-section{margin-bottom:64px}.about-section__head{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.about-section__title{font-size:clamp(28px,9vw,36px)}.about-facts__row{grid-template-columns:78px minmax(0,1fr)}.about-routes__row{padding:20px 0}}:root{--rhythm-xs:16px;--rhythm-sm:24px;--rhythm-md:32px;--rhythm-lg:48px;--rhythm-xl:64px;--rhythm-2xl:80px}@media screen{.ch-page>.prose p,.ch-page>span[data-i18n-lang]{margin-bottom:var(--rhythm-xs);line-height:1.78}.ch-page>:is(.v3-quote,.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-figure,.v3-diagram,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-steps,.v3-accordion,.v3-compare,.v3-dl,.v3-checklist,.v3-linkcard,.v3-promptbox,.v3-gallery,.v3-showcase,.album){margin-top:var(--rhythm-md);margin-bottom:var(--rhythm-md)}.ch-page>:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-steps,.v3-accordion,.v3-compare,.v3-dl,.v3-checklist,.v3-linkcard,.v3-promptbox):has(+:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-steps,.v3-accordion,.v3-compare,.v3-dl,.v3-checklist,.v3-linkcard,.v3-promptbox)){margin-bottom:var(--rhythm-sm)}.ch-page>:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-steps,.v3-accordion,.v3-compare,.v3-dl,.v3-checklist,.v3-linkcard,.v3-promptbox)+:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-steps,.v3-accordion,.v3-compare,.v3-dl,.v3-checklist,.v3-linkcard,.v3-promptbox),.ch-page>.prose+:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-figure,.v3-diagram),.ch-page>span[data-i18n-lang]+:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-figure,.v3-diagram),.ch-page>span[data-i18n-lang]+span[data-i18n-lang]+:is(.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-figure,.v3-diagram){margin-top:var(--rhythm-sm)}.ch-page>.v3-list{margin-top:var(--rhythm-sm);margin-bottom:var(--rhythm-sm)}.ch-page .v3-codeblock__frame{padding:18px 0 18px 24px}.ch-page .v3-codeblock__pre{padding-right:64px}.ch-page .v3-list{gap:9px;display:grid}.ch-page .v3-list__item{grid-template-columns:16px minmax(0,1fr);column-gap:12px;margin-bottom:0;line-height:1.7}.ch-page .v3-list__marker{text-align:right;font-size:12px}.ch-page>.v3-h3{margin-top:var(--rhythm-lg);margin-bottom:var(--rhythm-sm);line-height:1.3}.ch-page>.v3-section{margin-top:var(--rhythm-2xl);margin-bottom:var(--rhythm-md)}.ch-page>.v3-section__number,.ch-page .v3-section__number{margin-bottom:var(--rhythm-sm)}.ch-page>.v3-divider{margin-top:var(--rhythm-lg);margin-bottom:var(--rhythm-lg)}.ch-page>.v3-divider+.v3-section{margin-top:0}.ch-page>.v3-refs{margin-top:var(--rhythm-xl)}.ch-page>.v3-cover+.prose,.ch-page>.v3-cover+span[data-i18n-lang],.ch-page>.v3-cover+span[data-i18n-lang]+span[data-i18n-lang]{margin-top:var(--rhythm-md)}.ch-page .v3-tabs__panel{padding-top:22px}.ch-page .v3-tabs__panel>figure{margin:0}.ch-page .v3-tabs__panel>.v3-codeblock,.ch-page .v3-tabs__panel>figure>.v3-codeblock,.ch-page .v3-tabs__panel>.v3-codeblock-captioned>.v3-codeblock{max-width:none;margin:0;padding:0}.ch-page .v3-tabs__panel .v3-codeblock__frame{width:100%;padding:18px 0 18px 24px}.ch-page .v3-tabs__panel .v3-codeblock__pre{padding-right:64px}.ch-page .v3-tabs__panel>.v3-codeblock-captioned{margin:0}.ch-page .v3-tabs__panel>.v3-codeblock-captioned>.v3-codeblock{max-width:none;margin:0;padding:0}.ch-page .v3-tabs__panel>.v3-codeblock-captioned>.v3-codeblock__caption{max-width:none;margin-left:0;margin-right:0;padding:0}.ch-page>.v3-codeblock-captioned{max-width:var(--content-w);padding:0 var(--reading-px);margin-left:auto;margin-right:auto}.ch-page>.v3-codeblock-captioned>.v3-codeblock,.ch-page>.v3-codeblock-captioned>figure>.v3-codeblock{max-width:none;margin-top:0;margin-bottom:0;padding:0}.ch-page>.v3-codeblock-captioned .v3-codeblock__frame{width:100%}.ch-page>.v3-codeblock-captioned>.v3-codeblock__caption{max-width:none;margin-left:0;margin-right:0;padding:0}.ch-page .v3-codeblock__caption,.ch-page .v3-table caption,.ch-page .v3-figure__caption,.ch-page .v3-diagram__caption,.ch-page .v3-stats__caption,.ch-page .v3-pricetable__caption,.ch-page .v3-timeline__caption,.ch-page .v3-quadrant__caption,.ch-page .v3-barcompare__caption{margin-top:12px}}.v3-codeblock__title{border-left:1pt solid var(--code-rule);border-bottom:.5px solid var(--code-rule);margin:0}@supports (color:color-mix(in lab, red, red)){.v3-codeblock__title{border-bottom:.5px solid color-mix(in srgb, var(--code-rule) 28%, transparent)}}.v3-codeblock__title{background:var(--code-surface);color:var(--ink-2);font-family:var(--mono);letter-spacing:.12em;white-space:nowrap;padding:9px 16px 8px 24px;font-size:10.5px;font-weight:650;line-height:1.35;overflow-x:auto}.v3-codeblock:has(>.v3-codeblock__title) .v3-codeblock__frame{border-top:0}.v3-codeblock-captioned:has(>.v3-codeblock__title)>.v3-codeblock .v3-codeblock__frame{border-top:0}.v3-codeblock-captioned:has(>.v3-codeblock__title)>figure>.v3-codeblock .v3-codeblock__frame{border-top:0}.v3-codeblock-captioned>.v3-codeblock__title{margin:0}.v3-codeblock-captioned>.v3-codeblock__title+.v3-codeblock,.v3-codeblock-captioned>.v3-codeblock__title+figure>.v3-codeblock{margin-top:0}.v3-codeblock:has(>.v3-codeblock__title)>.v3-codeblock__frame{margin-top:0}.v3-codeblock-captioned:has(>.v3-codeblock__title)>.v3-codeblock{margin-top:0}.v3-codeblock-captioned:has(>.v3-codeblock__title)>figure{margin-top:0}@media print{.v3-codeblock__title{border-left-color:var(--code-rule);border-bottom-color:var(--code-rule)}@supports (color:color-mix(in lab, red, red)){.v3-codeblock__title{border-bottom-color:color-mix(in srgb, var(--code-rule) 32%, transparent)}}.v3-codeblock__title{background:var(--code-surface)}}@media screen{.ch-page>.v3-kicker,.ch-page>.v3-refs,.ch-page>:is(.v3-kicker,.v3-refs)+.ch-nav,.ch-page>:is(.prose,.v3-codeblock,.v3-codeblock-captioned,.v3-tabs,.v3-table-wrap,.v3-callout,.v3-figure,.v3-diagram,.v3-stats,.v3-pricetable,.v3-timeline,.v3-quadrant,.v3-barcompare,.v3-steps,.v3-accordion,.v3-compare,.v3-dl,.v3-checklist,.v3-linkcard,.v3-promptbox)+.ch-nav{margin-top:var(--rhythm-xl)}.ch-page>.ch-nav{padding-top:var(--rhythm-sm);padding-bottom:var(--rhythm-sm)}.ch-page>.ch-nav+.next-book{margin-top:var(--rhythm-lg)}.ch-page>:is(.ch-nav,.next-book)+.discussion{margin-top:var(--rhythm-xl);padding-top:0}.ch-page+.v3-footer{margin-top:var(--rhythm-xl)}.ch-page>.v3-divider{margin-top:var(--rhythm-lg);margin-bottom:var(--rhythm-lg);letter-spacing:.42em;color:var(--accent);font-size:18px}@supports (color:color-mix(in lab, red, red)){.ch-page>.v3-divider{color:color-mix(in srgb, var(--accent) 78%, var(--ink-3))}}.ch-page>.v3-divider:before{content:". . ."}.ch-page>.ch-nav{max-width:var(--content-w);padding:0 var(--reading-px);color:var(--ink-3);border-top:0;border-bottom:0;margin-left:auto;margin-right:auto;display:block}.ch-nav__meta{color:var(--ink-3);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 16px;font-size:10px;font-weight:600;display:flex}.ch-nav__series{color:var(--ink)}.ch-nav__index-wrap{flex:none}.ch-nav__index{color:var(--ink-3);text-align:right}.ch-nav__links{border-top:.5px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.ch-nav__links>*{border-bottom:.5px solid var(--border);flex-direction:column;justify-content:center;gap:8px;min-height:68px;padding:18px 16px 18px 0;display:flex}.ch-nav__links>:first-child{border-right:.5px solid var(--border)}.ch-nav__link{color:inherit;text-decoration:none;transition:background-color .12s,border-color .12s,transform .2s}.ch-nav__link--next{text-align:right;align-items:flex-end;padding:18px 0 18px 16px}.ch-nav__link--prev:hover,.ch-nav__link--prev:focus-visible{border-color:var(--accent);background:var(--row-hover);transform:translate(-4px)}.ch-nav__link--next:hover,.ch-nav__link--next:focus-visible{border-color:var(--accent);background:var(--row-hover);transform:translate(4px)}.ch-nav__dir,.ch-nav__cue{color:var(--ink-3);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:10px;font-weight:600;transition:color .12s}.ch-nav__link:hover .ch-nav__dir,.ch-nav__link:focus-visible .ch-nav__dir{color:var(--accent)}.ch-nav__title,.ch-nav__peek{width:auto;max-width:none;box-shadow:none;color:var(--ink);font-family:var(--serif);letter-spacing:0;text-transform:none;white-space:normal;opacity:1;pointer-events:auto;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;margin:0;padding:0;font-size:19px;font-style:normal;font-weight:500;line-height:1.22;display:-webkit-box;position:static;overflow:hidden;transform:none}.ch-nav__link.is-empty{pointer-events:none}@media (max-width:640px){.ch-nav__meta{margin-bottom:12px}.ch-nav__links{grid-template-columns:1fr}.ch-nav__links>*{padding:18px 0}.ch-nav__links>:first-child{border-right:0}.ch-nav__link--next{text-align:left;align-items:flex-start}.ch-nav__link--prev:hover,.ch-nav__link--prev:focus-visible,.ch-nav__link--next:hover,.ch-nav__link--next:focus-visible{transform:none}}.chapter-outline{display:none}.chapter-outline__inner{min-width:0}.chapter-outline__head{justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 14px;display:flex}.chapter-outline__label{color:var(--ink-3);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;margin:0;font-size:10px;font-style:normal;font-weight:600;line-height:1.4}.chapter-outline__toggle{width:24px;height:24px;color:var(--ink-3);cursor:pointer;font-family:var(--mono);background:0 0;border:0;place-items:center;margin:-5px -5px 0 0;padding:0;font-size:15px;line-height:1;transition:color .12s,transform .12s;display:grid}.chapter-outline__toggle:hover,.chapter-outline__toggle:focus-visible{color:var(--accent);outline:0;transform:translateY(-1px)}.chapter-outline__toggle:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}.chapter-outline__list{gap:0;margin:0;padding:0;list-style:none;display:grid}.chapter-outline__item{min-width:0}.chapter-outline__item--level-3{padding-left:14px}.chapter-outline__link{color:var(--ink-3);font-family:var(--text);letter-spacing:0;text-wrap:balance;border-left:1.5px solid #0000;padding:8px 0 8px 12px;font-size:14px;font-weight:400;line-height:1.35;text-decoration:none;transition:border-color .12s,color .12s,background-color .12s;display:block}.chapter-outline__item--level-3 .chapter-outline__link{font-size:13px}.chapter-outline__link:hover,.chapter-outline__link:focus-visible{border-left-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.chapter-outline__link:hover,.chapter-outline__link:focus-visible{border-left-color:color-mix(in srgb, var(--accent) 45%, transparent)}}.chapter-outline__link:hover,.chapter-outline__link:focus-visible{color:var(--accent);outline:0}.chapter-outline__link:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}.chapter-outline__link.is-active{border-left-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.chapter-outline__link.is-active{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.chapter-outline__link.is-active{color:var(--ink);font-weight:600}body.is-clean .chapter-outline{display:none!important}}@media screen and (min-width:1280px){body:not(.is-outline-hidden) .chapter-outline{z-index:35;top:104px;right:max(18px, calc((100vw - var(--content-w)) / 2 - 240px));border-top:.5px solid var(--ink);width:196px;max-height:calc(100vh - 136px);color:var(--ink-3);padding:18px 0 0;display:block;position:fixed;overflow-y:auto}}@media screen and (max-width:1279px){body.is-outline-open .chapter-outline{z-index:160;border:.5px solid var(--border);border-top-color:var(--ink);background:var(--bg);width:min(304px,100vw - 36px);max-height:calc(100vh - 104px);padding:18px 18px 16px;display:block;position:fixed;top:76px;right:18px;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){body.is-outline-open .chapter-outline{background:color-mix(in srgb, var(--bg) 94%, var(--code-bg))}}body.is-outline-open .chapter-outline{box-shadow:0 18px 58px #00000024}}@media screen and (max-width:760px){body.is-outline-open .chapter-outline{width:min(304px,100vw - 24px);max-height:calc(100vh - 84px);top:66px;right:12px}}@media print{.chapter-outline{display:none!important}}@media screen{.discussion__ready{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.print-book .v3-fn-tip{display:none!important}@media screen and (max-width:760px){.ch-page .v3-fn-tip,.ch-nav__index-wrap .ch-toc{display:none!important}.ch-page .v3-table-wrap{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto}}.an-header .an-tabs{grid-template-columns:repeat(4,minmax(92px,1fr))}.an-section__heading{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 16px;padding:0 0 8px;display:flex}.an-section__heading .an-section__title{border:0;margin:0;padding:0}.an-section__note{color:var(--ink-3);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:10px}.an-cards--insights{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.an-funnel{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.an-funnel__step,.an-funnel__agent,.an-audience__group{border:.5px solid var(--border);border-radius:4px;min-width:0}.an-funnel__step,.an-funnel__agent{gap:5px;padding:14px 12px;display:grid}.an-funnel__label,.an-funnel__rate,.an-funnel__agent span,.an-audience__title{color:var(--ink-3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.an-funnel__value,.an-funnel__agent strong{font-family:var(--mono);font-size:22px;line-height:1}.an-funnel__agent{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center}.an-audience{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.an-audience__group{padding:14px 12px}.an-audience__title{color:var(--ink-2);margin:0 0 12px}.an-audience__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.an-audience__row{grid-template-columns:minmax(80px,1fr) minmax(56px,96px) auto;align-items:center;gap:8px;min-width:0;display:grid}.an-audience__label{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.an-audience__bar{background:var(--border);border-radius:999px;height:5px;display:block;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.an-audience__bar{background:color-mix(in srgb, var(--border) 55%, transparent)}}.an-audience__bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.an-audience__count{font-family:var(--mono);font-size:12px}.an-empty--tight{padding:8px 0 2px}@media screen and (max-width:900px){.an-funnel,.an-audience{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:600px){.an-header .an-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.an-section__heading{display:block}.an-section__note{margin-top:8px}.an-funnel,.an-audience{grid-template-columns:1fr}}.book-cover-logo--zhipu-glm{--cover-logo-color:var(--ink);--cover-combine-text-color:var(--ink)}.featured__cover .book-cover-logo--zhipu-glm,.book-detail__cover .book-cover-logo--zhipu-glm{--cover-combine-icon-size:44px;--cover-combine-text-size:24px}.book-row__cover .book-cover-logo--zhipu-glm,.lib-row__cover .book-cover-logo--zhipu-glm{--cover-combine-icon-size:44px;--cover-combine-text-size:18px}.next-book__cover .book-cover-logo--zhipu-glm{--cover-combine-icon-size:36px;--cover-combine-text-size:14px}:root,:root[data-theme=light],:root[data-theme=dark]{--font-charter-stack:Charter, "Bitstream Charter", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-tsanger-stack:var(--font-tsanger), "TsangerJinKai02", "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, var(--font-charter-stack);--font-inter-stack:var(--font-inter), Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", var(--font-tsanger), "TsangerJinKai02", "Noto Serif SC", sans-serif;--font-jetbrains-stack:var(--font-jetbrains), "JetBrains Mono", "SF Mono", Consolas, var(--font-tsanger), "TsangerJinKai02", "Noto Serif SC", monospace;--serif:var(--font-tsanger-stack);--text:var(--font-tsanger-stack);--sans:var(--font-inter-stack);--mono:var(--font-jetbrains-stack);--print-code-font:var(--font-jetbrains-stack)}:root[data-lang=zh] body{letter-spacing:0;line-height:1.78}:root[data-lang=zh] :is(.v3-cover__title,.v3-section__title,.v3-h3,.book-detail__title,.discussion__title,.section-head__title,.v3-help__title,.v3-search__item-title,.v3-search__empty-title,.ch-toc__title,.v3-refs__title,.next-book__title,.home-hero__statement,.featured__title,.book-row__title,.lib-row__title,.lib-empty__text,.nf__title,.index-hero__title,.nav-card__title,.tokens__title){font-family:var(--font-tsanger-stack);letter-spacing:0;font-style:normal}:root[data-lang=zh] :is(.v3-cover__lede,.home-hero__lede,.featured__lede,.v3-kicker__text,.v3-quote__text,.v3-pullquote__text){letter-spacing:0;font-style:normal}@media screen{.v3-cover__title{text-wrap:balance;max-width:18ch;font-size:clamp(1.85rem,4.2vw,2.55rem);line-height:1.12}:root[data-lang=en] .v3-cover__title{max-width:22ch;font-size:clamp(1.85rem,4.2vw,2.55rem);line-height:1.12}.book-detail__title{text-wrap:balance;max-width:18ch;font-size:clamp(1.95rem,4.1vw,2.85rem);line-height:1.08}:root[data-lang=en] .book-detail__title{max-width:23ch;font-size:clamp(1.95rem,4.1vw,2.85rem)}.home-hero__statement{text-wrap:balance;max-width:19ch;font-size:clamp(2.05rem,4.6vw,2.9rem);line-height:1.08}.featured__title{text-wrap:balance;max-width:19ch;font-size:clamp(1.85rem,3.6vw,2.35rem);line-height:1.1}.book-row__title,.lib-row__title,.next-book__title{text-wrap:balance;max-width:28ch;font-size:clamp(1.32rem,2vw,1.55rem);line-height:1.18}:root[data-lang=en] :is(.book-row__title,.lib-row__title,.next-book__title){max-width:32ch}}@media screen and (max-width:760px){.v3-cover__title,:root[data-lang=en] .v3-cover__title{max-width:100%;font-size:clamp(1.9rem,10vw,2.45rem);line-height:1.12}.book-detail__title,:root[data-lang=en] .book-detail__title{max-width:100%;font-size:clamp(2rem,11vw,2.65rem);line-height:1.1}.home-hero__statement{max-width:100%;font-size:clamp(1.9rem,9vw,2.35rem);line-height:1.14}.featured__title,.book-row__title,.lib-row__title,.next-book__title{max-width:100%;font-size:1.18rem;line-height:1.22}}@media (hover:hover){.book-row,.lib-row,.toc__row,.next-book__card,.ch-nav__link{transition:color .12s;position:relative;transform:none}.book-row:before,.lib-row:before,.toc__row:before,.next-book__card:before,.ch-nav__link:not(.is-empty):before{content:"";background:var(--accent);opacity:0;pointer-events:none;width:1.5px;transition:opacity .12s;position:absolute;top:24px;bottom:24px;left:-16px}.ch-nav__link:not(.is-empty):before{width:1px;height:40px;top:23px;bottom:auto}.ch-nav__link--next:not(.is-empty):before{left:auto;right:-16px}.book-row:hover,.book-row:focus-visible,.lib-row:hover,.lib-row:focus-visible,.toc__row:hover,.toc__row:focus-visible,.next-book__card:hover,.next-book__card:focus-visible,.ch-nav__link:hover,.ch-nav__link:focus-visible{border-color:var(--border);background:0 0;transform:none}.book-row:hover:before,.book-row:focus-visible:before,.lib-row:hover:before,.lib-row:focus-visible:before,.toc__row:hover:before,.toc__row:focus-visible:before,.next-book__card:hover:before,.next-book__card:focus-visible:before,.ch-nav__link:hover:before,.ch-nav__link:focus-visible:before{opacity:1}.toc__row:hover .toc__title,.toc__row:focus-visible .toc__title,.toc__row:hover .toc__num,.toc__row:focus-visible .toc__num{color:var(--accent)}.ch-nav__title{transition:color .12s}.ch-nav__link:hover .ch-nav__title,.ch-nav__link:focus-visible .ch-nav__title{color:var(--accent)}.ch-toc__link{background:0 0;transition:border-color .12s,color .12s}a.ch-toc__link:hover,a.ch-toc__link:focus-visible,.ch-toc__item.is-current .ch-toc__link{border-left-color:var(--accent);background:0 0}.ch-toc__link:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}.chapter-outline__toggle:hover,.chapter-outline__toggle:focus-visible{transform:none}}@media screen{.chapter-outline-shell{--chapter-outline-width:196px;--chapter-outline-gap:16px;--chapter-outline-right:max(18px, calc((100vw - var(--content-w)) / 2 - 240px))}.chapter-outline-rail,.chapter-outline__pin{display:none}.chapter-outline__actions{align-items:center;gap:2px;display:flex}.chapter-outline__pin,.chapter-outline__toggle{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;margin:-5px 0 0;padding:0;transition:color .12s}.chapter-outline__toggle{display:grid}.chapter-outline__pin:hover,.chapter-outline__pin:focus-visible,.chapter-outline__toggle:hover,.chapter-outline__toggle:focus-visible{color:var(--accent);outline:0;transform:none}.chapter-outline__pin:focus-visible,.chapter-outline__toggle:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}.chapter-outline__pin svg{width:13px;height:13px}}@media screen and (min-width:1280px){.chapter-outline-shell:before{content:"";z-index:34;top:104px;right:var(--chapter-outline-right);width:calc(var(--chapter-outline-width) + var(--chapter-outline-gap) + 2.5rem);pointer-events:auto;height:calc(100vh - 136px);display:none;position:fixed}.chapter-outline-rail{z-index:36;top:104px;right:calc(var(--chapter-outline-right) + var(--chapter-outline-width) + var(--chapter-outline-gap));pointer-events:auto;gap:9px;margin:0;padding:2px 0;list-style:none;display:grid;position:fixed}.chapter-outline-rail__item{margin:0;padding:0}.chapter-outline-marker{width:24px;height:12px;color:var(--border);border:0;justify-content:flex-end;align-items:center;text-decoration:none;display:flex}.chapter-outline-marker:before{content:"";opacity:.55;background:currentColor;width:14px;height:2px;transition:width .12s,background-color .12s,opacity .12s;display:block}.chapter-outline-marker[data-depth="3"]:before{width:9px}.chapter-outline-rail__item:hover .chapter-outline-marker,.chapter-outline-marker:focus-visible{color:var(--accent)}.chapter-outline-rail__item:hover .chapter-outline-marker:before,.chapter-outline-marker:focus-visible:before{opacity:1}.chapter-outline-marker.is-active:before{background:var(--accent);opacity:1;width:18px}body:not(.is-outline-hidden) .chapter-outline.chapter-outline{z-index:35;top:104px;right:var(--chapter-outline-right);width:var(--chapter-outline-width);border:.5px solid var(--border);border-top-color:var(--ink);background:var(--bg);max-height:calc(100vh - 136px);padding:14px 16px 12px;display:block;position:fixed;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){body:not(.is-outline-hidden) .chapter-outline.chapter-outline{background:color-mix(in srgb, var(--bg) 94%, var(--code-bg))}}body:not(.is-outline-hidden) .chapter-outline.chapter-outline{box-shadow:none;color:var(--ink-3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,transform .12s,visibility .12s;transform:translate(4px)}.chapter-outline__head{align-items:flex-start;gap:12px;margin:0 0 16px}.chapter-outline__list{gap:2px}.chapter-outline__link{color:var(--ink-3);background:0 0;border-left:1.5px solid #0000;padding:9px 10px 9px 14px}.chapter-outline__item--level-3{padding-left:12px}.chapter-outline-shell:hover .chapter-outline.chapter-outline,.chapter-outline-shell:focus-within .chapter-outline.chapter-outline,body.is-outline-open .chapter-outline.chapter-outline,body.is-outline-pinned .chapter-outline.chapter-outline{opacity:1;visibility:visible;pointer-events:auto;transform:none}.chapter-outline-shell:hover:before,.chapter-outline-shell:focus-within:before,body.is-outline-open .chapter-outline-shell:before{display:block}body.is-outline-hover-suppressed .chapter-outline-shell:hover .chapter-outline.chapter-outline,body.is-outline-hover-suppressed .chapter-outline-shell:focus-within .chapter-outline.chapter-outline{opacity:0;visibility:hidden;pointer-events:none;transform:translate(4px)}.chapter-outline__pin{display:grid}body.is-outline-pinned .chapter-outline__pin,.chapter-outline__pin[aria-pressed=true]{color:var(--accent)}body.is-clean .chapter-outline-shell:before,body.is-clean .chapter-outline-rail,body.is-clean .chapter-outline{display:none!important}}@media screen{.v3-cover--chapter .v3-cover__title,:root[data-lang=en] .v3-cover--chapter .v3-cover__title{overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;text-wrap:pretty;max-width:100%}.about-library__title,:root[data-lang=en] .about-library__title{text-wrap:balance;max-width:18ch;font-size:clamp(1.85rem,4.2vw,2.55rem);line-height:1.12}:root[data-lang=en] .about-library__title{max-width:22ch}}@media screen and (max-width:640px){.about-library__title,:root[data-lang=en] .about-library__title{max-width:100%;font-size:clamp(1.9rem,10vw,2.45rem);line-height:1.12}}@media print{:root,:root[data-theme=light],:root[data-theme=dark]{--serif:var(--font-tsanger-stack);--text:var(--font-tsanger-stack);--mono:var(--font-jetbrains-stack);--print-code-font:var(--font-jetbrains-stack)}.print-book .v3-cover--chapter .v3-cover__title,:root[data-lang=en] .print-book .v3-cover--chapter .v3-cover__title{font-family:var(--font-tsanger-stack);letter-spacing:0;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;text-wrap:pretty;font-size:24pt;font-style:normal;font-weight:500;line-height:1.14;max-width:100%!important}}@media screen{.ch-toc{left:auto;right:0;transform:translateY(4px)}.ch-nav__index-wrap:hover .ch-toc,.ch-nav__index-wrap:focus-within .ch-toc{transform:translateY(0)}.featured__cover .cover-art__title{-webkit-line-clamp:2}.book-detail__lede{margin-bottom:0}.book-detail__foot{border-top:.5px solid var(--border);margin-top:40px;padding-top:28px}.book-detail__stats{flex-wrap:wrap;gap:26px 40px;margin:0 0 32px;display:flex}.book-detail__stat{flex-direction:column;gap:7px;display:flex}.book-detail__stat dt{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.book-detail__stat dd{font-family:var(--mono);letter-spacing:.02em;color:var(--ink);margin:0;font-size:15px;font-weight:600}.book-detail{max-width:var(--content-w);display:block}.book-detail__mark{--cover-mark-display:none;--cover-combine-display:flex;--cover-combine-icon-size:42px;--cover-combine-text-size:23px;--cover-combine-gap:13px;--cover-logo-size:42px;justify-content:flex-start;align-items:center;margin:0 0 34px;display:flex}.book-detail__mark .book-cover-logo{width:auto;height:auto}.book-detail__title{word-break:keep-all;max-width:26ch}:root[data-lang=en] .book-detail__title{max-width:30ch}.book-detail__lede,.book-detail__foot{max-width:36em}}@media screen and (max-width:640px){.book-detail{text-align:center}.book-detail__mark,.book-detail__stats{justify-content:center}.book-detail__stat{align-items:center}.book-detail__actions{flex-direction:column;align-items:center;gap:18px}.book-detail__btn--primary{text-align:center;width:100%}}.cover-visual{--cv-bg:var(--cover-accent)}@supports (color:color-mix(in lab, red, red)){.cover-visual{--cv-bg:color-mix(in oklab, var(--cover-accent) 20%, #0a1622)}}.cover-visual{--cv-1:var(--cover-accent)}@supports (color:color-mix(in lab, red, red)){.cover-visual{--cv-1:color-mix(in oklab, var(--cover-accent) 82%, #08131f)}}.cover-visual{--cv-2:var(--cover-accent);--cv-3:var(--cover-accent)}@supports (color:color-mix(in lab, red, red)){.cover-visual{--cv-3:color-mix(in oklab, var(--cover-accent) 55%, #eafdf7)}}.cover-visual{--cv-4:var(--cover-accent)}@supports (color:color-mix(in lab, red, red)){.cover-visual{--cv-4:color-mix(in oklab, var(--cover-accent) 30%, #fff)}}.cover-visual{--cv-hi:var(--cover-accent)}@supports (color:color-mix(in lab, red, red)){.cover-visual{--cv-hi:color-mix(in oklab, var(--cover-accent) 14%, #fff)}}.cover-visual{width:100%;height:100%;position:relative;overflow:hidden}.cover-visual__svg{width:100%;height:100%;display:block}.cover-visual__motif{font-family:var(--mono);letter-spacing:.02em;color:#eaf6ff;font-size:30px;font-weight:700;line-height:1;position:absolute;top:6%;left:8%}@media screen{.book-detail{max-width:var(--content-w);grid-template-columns:minmax(0,1fr) clamp(110px,25vw,264px);align-items:start;gap:clamp(18px,2.4vw,30px);display:grid}.book-detail__main{grid-area:1/1;min-width:0}.book-detail__aside{grid-area:1/2}.book-detail__actions{flex-wrap:wrap;align-items:center;gap:12px}.book-detail__btn{letter-spacing:.1em}.cover-card{border:.5px solid var(--border);background:#fcfbf9;flex-direction:column;display:flex;overflow:hidden}.cover-card__brand{--cover-mark-display:none;--cover-combine-display:flex;--cover-combine-icon-size:26px;--cover-combine-text-size:14px;--cover-combine-gap:8px;--cover-logo-size:26px;--cover-combine-text-color:#1a1a1a;border-bottom:.5px solid #ece9e3;align-items:center;padding:15px 17px;display:flex}.cover-card__brand .book-cover-logo--cursor,.cover-card__brand .book-cover-logo--hermes,.cover-card__brand .book-cover-logo--zhipu-glm{--cover-logo-color:#1a1a1a}.cover-card__brand .book-cover-logo{width:auto;height:auto}.cover-card__art{aspect-ratio:3/3.9;position:relative}.book-detail__stat{width:92px}.book-detail__btn--primary{text-align:center;min-width:176px}.book-detail__actions .book-detail__btn:not(.book-detail__btn--primary){border:.5px solid var(--border);justify-content:center;align-items:center;width:132px;min-width:0;padding:10px 8px;text-decoration:none;display:inline-flex}.book-detail__actions .book-detail__btn:not(.book-detail__btn--primary):hover{border-color:var(--accent);color:var(--accent)}}@media screen and (max-width:640px){.book-detail{text-align:left;display:block}.book-detail__aside{float:right;width:38%;max-width:168px;margin:0 0 16px 18px}.book-detail__title,:root[data-lang=en] .book-detail__title{word-break:normal;overflow-wrap:anywhere;font-size:30px}.book-detail__lede{clear:right}.book-detail__lede:before{content:"";background:var(--accent);width:30px;height:2px;margin:0 0 20px;display:block}.book-detail__mark,.book-detail__stats{justify-content:flex-start}.book-detail__stats{column-gap:22px}.book-detail__stat{align-items:flex-start}.book-detail__foot{clear:right}.book-detail__actions{flex-flow:wrap;align-items:stretch;gap:12px}.book-detail__btn--primary{width:100%;min-width:0}.book-detail__actions .book-detail__btn:not(.book-detail__btn--primary){border:.5px solid var(--border);flex:1 1 0;justify-content:center;align-items:center;min-width:0;padding:13px 12px;text-decoration:none;display:flex}}@media screen and (min-width:641px){.book-detail{align-items:stretch}.cover-card{height:100%}.cover-card__art{aspect-ratio:auto;flex:auto;min-height:320px}}@media print{.v3-codeblock__pre{font-size:8.8pt;line-height:1.5}.v3-codeblock__pre code[data-language]>[data-line]{text-indent:-2.5ch;padding-left:2.5ch;display:block}.v3-codeblock__pre code[data-language]{filter:saturate(1.6)}.v3-section__number{font-size:9pt;margin-bottom:5mm!important}}.print-book .v3-promptbox__text,.print-book .v3-promptbox__text>span[data-i18n-lang]{white-space:pre-wrap;overflow-wrap:anywhere}@media print{.v3-promptbox__text{font-size:9pt;line-height:1.55}.v3-refs__back{display:none}.v3-refs__item{grid-template-columns:28px 1fr}.v3-divider{margin:14mm 0!important}.v3-table th,.v3-table td{padding:16px 20px}.v3-table thead th{padding-bottom:16px}.v3-table .num,.v3-table th.num{padding-right:20px}.v3-codeblock__pre code[data-language]{filter:saturate(2.1)contrast(1.06)}.v3-divider{color:var(--ink)!important}.print-toc__num,.v3-refs__num{color:var(--ink)}.v3-kicker__sig{display:none}}.print-backcover{max-width:150mm;padding:20mm var(--reading-px) 0;text-align:center;page:backcover;page-break-before:always;break-before:page;flex-direction:column;align-items:center;gap:8mm;margin:0 auto;display:flex}.print-backcover__mark{--cover-mark-display:none;--cover-combine-display:flex;--cover-combine-icon-size:9mm;--cover-combine-text-size:13pt;--cover-combine-gap:2.5mm;--cover-logo-size:9mm;--cover-combine-text-color:#1a1a1a;justify-content:center;align-items:center;display:flex}.print-backcover__mark .book-cover-logo--cursor,.print-backcover__mark .book-cover-logo--hermes,.print-backcover__mark .book-cover-logo--zhipu-glm{--cover-logo-color:#1a1a1a}.print-backcover__head{flex-direction:column;align-items:center;gap:5mm;margin-top:-2mm;display:flex}.print-backcover__title{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);margin:0;font-size:30px;font-style:normal;font-weight:700;line-height:1.2}.print-backcover__subtitle{max-width:62ch;font-family:var(--text);color:var(--ink-3);margin:0;font-size:13px;line-height:1.6}.print-backcover__rule{border-top:.5px solid var(--border);width:100%;height:0}.print-backcover__main{text-align:left;align-items:flex-start;gap:10mm;width:100%;display:flex}.print-backcover__qr{border:.5px solid var(--border);background:#fff;flex-direction:column;flex:none;align-items:center;gap:2mm;padding:3mm;display:flex}.print-backcover__qr-img{width:26mm;height:26mm}.print-backcover__qr-img svg{width:100%;height:100%;display:block}.print-backcover__qr-cap{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-3);white-space:nowrap;font-size:8px}.print-backcover__bio{flex-direction:column;flex:1;gap:3mm;min-width:0;display:flex}.print-backcover__author{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0;font-size:12px;font-weight:600}.print-backcover__author-sep{color:var(--ink-3)}.print-backcover__author-name{color:var(--accent)}.print-backcover__biotext{font-family:var(--text);color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.7}.print-backcover__notice{text-align:left;background:var(--ink);align-items:flex-start;gap:3mm;width:100%;padding:4mm 5mm;display:flex}@supports (color:color-mix(in lab, red, red)){.print-backcover__notice{background:color-mix(in srgb, var(--ink) 4%, #fff)}}.print-backcover__notice{border:.5px solid var(--border)}.print-backcover__notice-ico{width:4.5mm;height:4.5mm;color:var(--accent);flex:none;margin-top:.3mm}.print-backcover__notice-ico svg{width:100%;height:100%;display:block}.print-backcover__notice-text{font-family:var(--text);color:var(--ink-2);margin:0;font-size:11.5px;line-height:1.6}.print-backcover__links{color:var(--ink-2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.print-backcover__link-item{align-items:center;display:inline-flex}.print-backcover__link-sep{color:var(--ink-3);margin:0 3.5mm}.print-backcover__link{font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);text-underline-offset:2px;align-items:center;gap:1.5mm;font-size:10.5px;display:inline-flex}.print-backcover__link-ico{width:3.6mm;height:3.6mm;color:var(--ink-3);flex:none}.print-backcover__link-ico svg{width:100%;height:100%;display:block}.print-backcover__stats{text-align:left;grid-template-columns:repeat(4,1fr);gap:6mm;width:100%;margin:0;display:grid}.print-backcover__stat{flex-direction:column;gap:1.5mm;display:flex}.print-backcover__stat dt{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3);font-size:9px;font-weight:600}.print-backcover__stat dd{font-family:var(--mono);letter-spacing:.02em;color:var(--ink);margin:0;font-size:15px;font-weight:600}.print-backcover__legal{flex-direction:column;align-items:center;gap:3mm;display:flex}.print-backcover__copy{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:10px;font-weight:600}.print-backcover__disclaimer{max-width:60ch;font-family:var(--text);color:var(--ink-3);margin:0;font-size:10.5px;line-height:1.55}@page backcover{@bottom-left{content:none}@bottom-right{content:none}}@page backcover:left{@bottom-left{content:none}@bottom-right{content:none}}@page backcover:right{@bottom-left{content:none}@bottom-right{content:none}}@media screen{.ch-nav__index-wrap:hover .ch-toc,.ch-nav__index-wrap:focus-within .ch-toc{opacity:0!important;visibility:hidden!important;transform:translateY(4px)!important}.ch-nav__index-wrap.is-open .ch-toc{opacity:1!important;visibility:visible!important;transition:opacity .12s,transform .12s,visibility!important;transform:translateY(0)!important}.ch-nav__index-caret{opacity:.5;vertical-align:middle;border-top:4px solid;border-left:3.5px solid #0000;border-right:3.5px solid #0000;width:0;height:0;margin-left:.5ch;transition:transform .16s,opacity .16s;display:inline-block}.ch-nav__index-wrap.is-open .ch-nav__index-caret{opacity:.85;transform:rotate(180deg)}.chapter-outline-shell{--chapter-outline-width:206px;--chapter-outline-right:max(8px, calc((100vw - var(--content-w)) / 2 - 250px))}.chapter-outline__link{padding:7px 5px 7px 8px;font-size:13px}.chapter-outline__item--level-3 .chapter-outline__link{font-size:12px}body:not(.is-outline-hidden) .chapter-outline.chapter-outline{padding-left:10px;padding-right:10px}}.v3-search__card{max-height:min(720px,82vh);overflow:hidden}@media (max-width:600px){.v3-search__card{max-height:calc(100vh - 80px)}}.v3-search__icon svg{width:25px;height:25px}.v3-search__input{font-family:var(--serif);font-size:20px;line-height:1.2}.v3-search__input::placeholder{font-size:20px}.v3-search__esc{letter-spacing:.12em;min-height:28px}.v3-search__results{max-height:54vh;padding:10px 0}.v3-search__group-label{letter-spacing:.18em;margin:12px 20px 4px}.v3-search__group+.v3-search__group{border-top:.5px solid var(--border);margin-top:4px;padding-top:4px}.v3-search__item{padding:14px 22px}.v3-search__empty-sub{font-family:var(--text);letter-spacing:0;text-transform:none;font-size:15px;font-weight:400;line-height:1.55}.v3-search__foot{justify-content:space-between;gap:16px}.book-row__cover .book-cover-logo--fde,.lib-row__cover .book-cover-logo--fde,.next-book__cover .book-cover-logo--fde{--cover-combine-text-size:26px}@media print{.print-toc__title{margin-bottom:36px}.print-toc__link{padding:9px 0}.print-toc__item,.print-toc__link{break-inside:avoid;page-break-inside:avoid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
