@font-face{font-family:Inter;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/inter-latin-var.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/inter-latin-var-italic.woff2)format("woff2")}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/RobotoMono-Light.woff2)format("woff2")}:root{--paper:#fdfbf7;--ink:#23211c;--reference-on-paper:#77736b;--reference-on-ink:#a19e95;--color-bg-canvas:var(--paper);--color-bg-inverse:var(--ink);--color-text-primary:var(--ink);--color-text-inverse:var(--paper);--color-text-reference:var(--reference-on-paper);--color-border-strong:var(--ink);--color-focus-ring:var(--reference-on-paper);--color-reference-panel:var(--paper);--reference-inset-shadow:inset 0 -1px 4px #fdfbf71f, inset 0 8px 24px #23211c0f, inset 0 2px 8px #23211c1f;--reference-inset-shadow-leading:inset 0 8px 24px #23211c0f, inset 0 2px 8px #23211c1f;--reference-inset-shadow-trailing:inset 0 -1px 4px #fdfbf71f;--analytics-panel-shadow:0 18px 60px color-mix(in srgb, var(--ink) 18%, transparent), 0 2px 12px color-mix(in srgb, var(--ink) 8%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-color-mode=light]):not([data-color-mode=dark]){--color-bg-canvas:var(--ink);--color-bg-inverse:var(--paper);--color-text-primary:var(--paper);--color-text-inverse:var(--ink);--color-text-reference:var(--reference-on-ink);--color-border-strong:var(--paper);--color-focus-ring:var(--reference-on-ink);--color-reference-panel:color-mix(in srgb, var(--paper) 7%, var(--ink));--reference-inset-shadow:inset 0 8px 22px #23211c1f, inset 0 2px 8px #23211c52;--reference-inset-shadow-leading:var(--reference-inset-shadow);--reference-inset-shadow-trailing:none}}:root[data-color-mode=dark]{--color-bg-canvas:var(--ink);--color-bg-inverse:var(--paper);--color-text-primary:var(--paper);--color-text-inverse:var(--ink);--color-text-reference:var(--reference-on-ink);--color-border-strong:var(--paper);--color-focus-ring:var(--reference-on-ink);--color-reference-panel:color-mix(in srgb, var(--paper) 7%, var(--ink));--reference-inset-shadow:inset 0 8px 22px #23211c1f, inset 0 2px 8px #23211c52;--reference-inset-shadow-leading:var(--reference-inset-shadow);--reference-inset-shadow-trailing:none}:root{--space-3xs:4px;--space-2xs:8px;--space-xs:12px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-3xl:96px;--layout-screen-max:1440px;--layout-page-margin:72px;--layout-content-max:720px;--layout-index-letter-column:3.5rem;--layout-chapter-title-max:min(70vw, 100%);--masthead-side-control-width:194px;--radius-sm:2px;--radius-md:8px;--tracking-default:-.05em;--focus-ring-width:2px;--focus-ring-offset:3px;--underline-offset:3px;--underline-offset-emphasis:var(--space-3xs);--underline-thickness:1px;--motion-duration-fast:.18s;--motion-duration-base:.2s;--motion-ease-out:ease-out;--control-target-size:2rem;--control-icon-size:1rem;--icon-index-source:url(/figma/index-desktop.svg);--icon-index-inline-size:194px;--icon-index-block-size:51.0001px;--icon-index-group-c-source:url(/figma/index-group-c.svg);--icon-index-group-c-inline-size:.94ex;--icon-index-group-c-block-size:1ex;--icon-color-mode-light-source:url(/figma/color-mode-light.svg);--icon-color-mode-light-inline-size:51.5406px;--icon-color-mode-light-block-size:50.4473px;--icon-color-mode-dark-source:url(/figma/color-mode-dark.svg);--icon-color-mode-dark-inline-size:34.6775px;--icon-color-mode-dark-block-size:51.9662px;--icon-color-mode-system-source:url(/figma/color-mode-system.svg);--icon-color-mode-system-inline-size:51.757px;--icon-color-mode-system-block-size:51.9548px;--icon-chapter-navigation-arrow-source:url(/figma/chapter-navigation-arrow.svg);--icon-chapter-navigation-arrow-inline-size:1.15475rem;--icon-chapter-navigation-arrow-block-size:.660688rem;--icon-chapter-navigation-arrow-rotation:-2.05deg;--font-reference:"Roboto Mono", ui-monospace, monospace;--type-h1:600 2.25rem/2.75rem "Inter", system-ui, sans-serif;--type-h2:600 1.75rem/2.25rem "Inter", system-ui, sans-serif;--type-h3:500 1.3125rem/1.75rem "Inter", system-ui, sans-serif;--type-body:300 1.1875rem/2rem "Inter", system-ui, sans-serif;--type-body-small:300 1rem/1.625rem "Inter", system-ui, sans-serif;--type-nav:300 1rem/1.625rem "Inter", system-ui, sans-serif;--type-meta:300 1rem/1.25rem var(--font-reference);--type-ref:300 1.1875rem/2rem var(--font-reference);--type-index-reference:300 1.75rem/2.25rem var(--font-reference)}@media (max-width:640px){:root{--space-md:20px;--space-lg:24px;--space-3xl:56px;--layout-page-margin:16px;--layout-content-max:100%;--layout-index-letter-column:2rem;--icon-color-mode-light-source:url(/figma/color-mode-mobile-light.svg);--icon-color-mode-light-inline-size:var(--masthead-side-control-width);--icon-color-mode-light-block-size:40.4473px;--icon-color-mode-dark-source:url(/figma/color-mode-mobile-dark.svg);--icon-color-mode-dark-inline-size:var(--masthead-side-control-width);--icon-color-mode-dark-block-size:41.9662px;--icon-color-mode-system-source:url(/figma/color-mode-mobile-system.svg);--icon-color-mode-system-inline-size:var(--masthead-side-control-width);--icon-color-mode-system-block-size:41.9548px;--type-h1:600 1.75rem/2.125rem "Inter", system-ui, sans-serif;--type-h2:600 1.375rem/1.75rem "Inter", system-ui, sans-serif;--type-h3:500 1.125rem/1.5rem "Inter", system-ui, sans-serif;--type-body:300 1rem/1.75rem "Inter", system-ui, sans-serif;--type-body-small:300 .875rem/1.5rem "Inter", system-ui, sans-serif;--type-nav:300 .875rem/1.5rem "Inter", system-ui, sans-serif;--type-meta:300 .875rem/1.125rem var(--font-reference);--type-ref:300 1rem/1.75rem var(--font-reference);--type-index-reference:300 1.375rem/1.75rem var(--font-reference)}}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background-color:var(--color-bg-canvas);-webkit-text-size-adjust:100%;overscroll-behavior-y:none}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-color-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--color-bg-canvas);min-height:100dvh;color:var(--color-text-primary);font:var(--type-body);letter-spacing:var(--tracking-default);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;overflow-x:hidden}.site-frame:before{z-index:0;background:var(--color-bg-inverse);content:"";pointer-events:none;position:fixed;inset:0;-webkit-mask:url(/figma/grain-desktop.svg) top/100% 1134px repeat-y;mask:url(/figma/grain-desktop.svg) top/100% 1134px repeat-y}@media (any-pointer:coarse),(max-width:640px){.site-frame:after{z-index:0;background:linear-gradient(to bottom, var(--color-bg-canvas) 0 max(48px, env(safe-area-inset-top,0px)), transparent calc(max(48px, env(safe-area-inset-top,0px)) + 132px)), linear-gradient(to top, var(--color-bg-canvas) 0 max(48px, env(safe-area-inset-bottom,0px)), transparent calc(max(48px, env(safe-area-inset-bottom,0px)) + 132px)), linear-gradient(to right, var(--color-bg-canvas) 0 env(safe-area-inset-left,0px), transparent calc(env(safe-area-inset-left,0px) + 96px)), linear-gradient(to left, var(--color-bg-canvas) 0 env(safe-area-inset-right,0px), transparent calc(env(safe-area-inset-right,0px) + 96px));content:"";pointer-events:none;position:fixed;inset:0}}h1,h2,h3,h4,h5,p,figure,blockquote,ol,ul{margin:0}ol,ul{padding:0;list-style:none}img,svg{max-width:100%;display:block}button{letter-spacing:var(--tracking-default)}:where(a):focus-visible,:where(button):focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:10;padding:var(--space-2xs) var(--space-xs);background:var(--color-bg-canvas);color:var(--color-text-primary);font:var(--type-nav);position:fixed;top:8px;left:8px;translate:0 -200%}.skip-link:focus{translate:0}.site-frame{z-index:1;width:100%;min-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background-image:radial-gradient(ellipse 72% 420px at 76% 170px, color-mix(in srgb, var(--color-bg-inverse) 5%, transparent) 0%, transparent 78%), radial-gradient(ellipse 62% 500px at 13% 410px, color-mix(in srgb, var(--color-bg-inverse) 4%, transparent) 0%, transparent 82%);background-repeat:no-repeat;position:relative;overflow:clip}.shell{z-index:1;isolation:isolate;width:min(100%, var(--layout-screen-max));min-height:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));flex-direction:column;margin-inline:auto;display:flex;position:relative}.shell>*{z-index:1;position:relative}.column{width:min(calc(100% - (var(--layout-page-margin) * 2)), var(--layout-content-max));margin-inline:auto}@media (max-width:640px){.site-frame:before{-webkit-mask-image:url(/figma/grain-mobile.svg);mask-image:url(/figma/grain-mobile.svg);-webkit-mask-size:100% 2325px;mask-size:100% 2325px}}.masthead{height:95.9004px;padding:var(--space-md) var(--layout-page-margin);font:var(--type-nav);letter-spacing:var(--tracking-default);flex:0 0 95.9004px;justify-content:center;align-items:center;display:flex;position:relative}.wordmark{color:var(--color-bg-inverse);text-decoration:none;display:block}.wordmark-mark{background:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.wordmark-mark--desktop{width:min(556.09px, calc(100vw - (var(--masthead-side-control-width) * 2)));aspect-ratio:556.09/47.9004;-webkit-mask-image:url(/figma/header-desktop.svg);mask-image:url(/figma/header-desktop.svg)}.wordmark-mark--mobile{display:none}.masthead-nav{width:var(--masthead-side-control-width);justify-content:center;display:flex;position:absolute;top:50%;left:0;translate:0 -50%}.masthead-menu,.site-footer-menu{align-items:center;gap:var(--space-md);display:flex}.masthead-nav a{color:var(--color-text-primary);text-decoration:none}.masthead-nav a:hover{text-underline-offset:var(--underline-offset);text-decoration:underline}.masthead-index-link{isolation:isolate;width:var(--icon-index-inline-size);height:calc(var(--icon-index-block-size) + (var(--space-xs) * 2));font-size:0;display:block;position:relative}.masthead-index-link:before,.masthead-index-link:after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%}.masthead-index-link:before{z-index:1;width:100%;height:var(--icon-index-block-size);-webkit-mask:var(--icon-index-source) center / 100% 100% no-repeat;-webkit-mask:var(--icon-index-source) center / 100% 100% no-repeat;mask:var(--icon-index-source) center / 100% 100% no-repeat;background:currentColor}.masthead-index-link:after{z-index:0;width:calc(51px + (var(--space-xs) * 2));height:calc(51px + (var(--space-xs) * 2));border-radius:var(--radius-md);background-color:var(--color-reference-panel);box-shadow:var(--reference-inset-shadow);opacity:0;transition:background-color var(--motion-duration-fast) var(--motion-ease-out), opacity var(--motion-duration-fast) var(--motion-ease-out)}.masthead-index-link[aria-current]:after{opacity:1}.masthead-index-link[aria-current]:hover:after{background-color:color-mix(in srgb, var(--color-reference-panel) 97%, var(--color-text-primary))}.masthead-index-link:hover{text-decoration:none}.color-mode-picker{appearance:none;z-index:2;width:var(--masthead-side-control-width);height:50px;color:var(--color-text-primary);cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0;position:absolute;top:50%;right:0;translate:0 -50%}.color-mode-icon{background:currentColor;display:none;position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.color-mode-icon--light{width:var(--icon-color-mode-light-inline-size);height:var(--icon-color-mode-light-block-size);-webkit-mask-image:var(--icon-color-mode-light-source);-webkit-mask-image:var(--icon-color-mode-light-source);mask-image:var(--icon-color-mode-light-source)}.color-mode-icon--dark{width:var(--icon-color-mode-dark-inline-size);height:var(--icon-color-mode-dark-block-size);-webkit-mask-image:var(--icon-color-mode-dark-source);-webkit-mask-image:var(--icon-color-mode-dark-source);mask-image:var(--icon-color-mode-dark-source)}.color-mode-icon--system{width:var(--icon-color-mode-system-inline-size);height:var(--icon-color-mode-system-block-size);-webkit-mask-image:var(--icon-color-mode-system-source);-webkit-mask-image:var(--icon-color-mode-system-source);mask-image:var(--icon-color-mode-system-source)}:root:not([data-color-mode]) .color-mode-icon--system,:root[data-color-mode=system] .color-mode-icon--system,:root[data-color-mode=light] .color-mode-icon--light,:root[data-color-mode=dark] .color-mode-icon--dark{display:block}@media (max-width:959px){:root{--masthead-side-control-width:72px;--icon-index-source:url(/figma/index-mobile.svg);--icon-index-inline-size:41px;--icon-index-block-size:41.0001px}.wordmark-mark--desktop{width:min(556.09px, calc(100vw - (var(--masthead-side-control-width) * 2)))}.masthead-index-link{width:calc(41px + var(--space-sm));height:calc(41px + var(--space-sm))}.masthead-index-link:before{width:var(--icon-index-inline-size);height:var(--icon-index-block-size)}.masthead-index-link:after{width:100%;height:100%}}@media (max-width:640px){.masthead{flex-basis:calc(var(--space-3xl) + (var(--space-md) * 4));height:calc(var(--space-3xl) + (var(--space-md) * 4));padding:calc(var(--space-md) * 2) var(--layout-page-margin)}.wordmark-mark--desktop{display:none}.wordmark-mark--mobile{width:99px;height:38px;display:block;-webkit-mask-image:url(/figma/header-mobile.svg);mask-image:url(/figma/header-mobile.svg)}.color-mode-picker{height:40px;top:calc(50% + .2px);right:0}.color-mode-icon--light{width:var(--icon-color-mode-light-inline-size);height:var(--icon-color-mode-light-block-size)}.color-mode-icon--dark{width:var(--icon-color-mode-dark-inline-size);height:var(--icon-color-mode-dark-block-size)}.color-mode-icon--system{width:var(--icon-color-mode-system-inline-size);height:var(--icon-color-mode-system-block-size)}.masthead-nav{right:auto;left:var(--space-md);width:calc(var(--space-3xl) + var(--space-3xs));justify-content:center}.masthead-index-link{width:calc(var(--space-3xl) + var(--space-3xs));height:calc(var(--space-3xl) + var(--space-3xs))}.masthead-menu{gap:var(--space-sm)}}main{display:block}.home-main{min-height:944px;padding:var(--space-md) var(--layout-page-margin) 0;position:relative;overflow:hidden}.chapter-overview,.home-heading{z-index:1;position:relative}.home-heading{padding-block:var(--space-md)}.home-title{width:min(100%, var(--layout-content-max));background:var(--color-bg-inverse);color:var(--color-text-inverse);font:var(--type-h1);letter-spacing:var(--tracking-default);text-align:center;margin-inline:auto}.post-list{width:100%}.post-list li{min-height:112px;padding-block:var(--space-md);align-items:center;display:flex}.post-list .post-list-item--highlighted{padding-block:0}.post-list-item--highlighted>a{padding:var(--space-md)}.post-list-item--highlight-start:not(.post-list-item--highlight-end){box-shadow:var(--reference-inset-shadow-leading);border-end-end-radius:0;border-end-start-radius:0}.post-list-item--highlight-end:not(.post-list-item--highlight-start){box-shadow:var(--reference-inset-shadow-trailing);border-start-start-radius:0;border-start-end-radius:0}.post-list-item--highlighted:not(.post-list-item--highlight-start):not(.post-list-item--highlight-end){box-shadow:none;border-radius:0}.post-list a{gap:var(--space-2xs);width:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}@media (min-width:960px) and (max-width:1439px){.post-list li:nth-child(n+3) a{max-width:min(100%, calc(50.28vw - var(--layout-page-margin) - var(--space-md) - 3px))}}@media (min-width:960px) and (max-width:1439px) and (max-height:1090px){.post-list li:nth-child(n+3) a{max-width:calc(min(41.1806vw, 593.001px) - var(--layout-page-margin) - var(--space-md))}}@media (min-width:960px) and (max-width:1100px) and (max-height:960px){.post-list li:nth-child(2) a{max-width:calc(min(41.1806vw, 593.001px) - var(--layout-page-margin) - var(--space-md))}}.post-list a:hover .post-title{text-underline-offset:var(--underline-offset-emphasis);text-decoration:underline}.post-meta{font:var(--type-meta);letter-spacing:var(--tracking-default);color:var(--color-text-primary)}.post-title{font:var(--type-h2);letter-spacing:var(--tracking-default)}.home-decoration>img{object-fit:contain;width:100%;height:100%;display:block}@media (max-width:640px){.home-decoration{z-index:0;width:min(calc(100% + (var(--layout-page-margin) * 2)), 402px);aspect-ratio:402/1095;pointer-events:none;margin-top:clamp(0px,58.7513vw - 236.18px,139.828px);display:block;position:relative;left:50%;translate:-50%}}@media (min-width:641px) and (max-width:959px){.home-main{min-height:0}.home-decoration{z-index:0;aspect-ratio:756/731;pointer-events:none;width:calc(24.7649vw + 262.243px);display:block;position:relative;left:calc(86.6107vw - 507.674px)}}@media (min-width:960px){.home-main{flex:1 0 auto;min-height:0;overflow:visible}.home-decoration{z-index:0;top:auto;bottom:var(--space-lg);aspect-ratio:756/731;pointer-events:none;width:min(clamp(600px,65vw - 20px,860px),max(0px,103.42dvh - 229.6px));display:block;position:absolute;left:41.1806%}}@media (min-width:1440px){.home-decoration{left:auto;right:calc(-50vw + 50%)}}@media (max-width:640px){.home-main{min-height:0;padding:var(--space-md) var(--layout-page-margin) 0;overflow:visible}.home-heading{padding-block:var(--space-md)}.post-list li{min-height:86px;padding-block:var(--space-sm)}.post-list-item--highlighted>a{padding-block:var(--space-sm)}}.article{padding-block:var(--space-lg) 0}.article h1{margin-top:var(--space-sm);font:var(--type-h1);letter-spacing:var(--tracking-default)}.site-page h1{margin-top:0}.article>h1+.lede{margin-top:var(--space-sm)}.article>h1+p:not(.lede),.article>.article-body{margin-top:var(--space-lg)}.article>.lede+.article-body{margin-top:calc(var(--space-lg) + var(--space-md))}.article h2{font:var(--type-h2);letter-spacing:var(--tracking-default)}.article h3,.article h4,.article h5{font:var(--type-h3);letter-spacing:var(--tracking-default)}.article h2,.article h3,.article h4,.article h5{margin-top:calc(var(--space-sm) * 2)}.article p{font:var(--type-body)}.article>.post-meta{font:var(--type-meta)}.article .lede{font:var(--type-body-small);color:var(--color-text-reference)}.article-body hr{background-color:var(--color-border-strong);border:0;width:100%;height:1px;margin:0}.article-body>*+*,.article :is(.article-body,.callout,.notion-quote,.notion-column,.word-explanation-body)>*+hr,.article :is(.article-body,.callout,.notion-quote,.notion-column,.word-explanation-body)>hr+*{margin-top:var(--space-sm)}.article-body a,.article>p a{color:inherit;text-underline-offset:var(--underline-offset);text-decoration-color:currentColor}.article-body ul,.article-body ol{padding-left:var(--space-md)}.article-body ul{list-style:outside}.article-body ol{counter-reset:notion-list-item;list-style:none}.article-body ol>li{column-gap:var(--space-xs);counter-increment:notion-list-item;grid-template-columns:max-content minmax(0,1fr);display:grid}.article-body ol>li:before{content:"{ " counter(notion-list-item, decimal) " }";color:var(--color-text-primary);font:var(--type-ref);letter-spacing:var(--tracking-default);white-space:nowrap;grid-column:1}.article-body ol ol>li:before{content:"{ " counter(notion-list-item, lower-alpha) " }"}.article-body ol ol ol>li:before{content:"{ " counter(notion-list-item, lower-roman) " }"}.article-body ol>li>.notion-list-item-text,.article-body ol>li>:is(ol,ul){grid-column:2;min-width:0}.article-body li+li,.article-body li>ul,.article-body li>ol{margin-top:var(--space-xs)}.notion-quote{font:var(--type-ref);letter-spacing:var(--tracking-default);color:var(--color-text-reference);border:0;margin-inline-start:var(--space-lg);padding:0}.article .notion-quote p{font:inherit;letter-spacing:inherit}.notion-quote>*+*{margin-top:var(--space-sm)}@media (max-width:640px){.article{padding-top:var(--space-md)}.article>.lede+.article-body{margin-top:calc(var(--space-sm) * 2)}.article-body>*+*,.article :is(.article-body,.callout,.notion-quote,.notion-column,.word-explanation-body)>*+hr,.article :is(.article-body,.callout,.notion-quote,.notion-column,.word-explanation-body)>hr+*{margin-top:var(--space-xs)}.article h2,.article h3,.article h4,.article h5{margin-top:calc(var(--space-xs) * 2)}}.index-page{padding-bottom:0}.index-directory{margin-top:0}.index-directory-meta{align-items:baseline;column-gap:var(--space-2xs);color:var(--color-text-primary);font:var(--type-meta);letter-spacing:var(--tracking-default);display:flex}.index-directory-meta .post-meta{color:inherit;font:inherit;letter-spacing:inherit;flex:none}.index-search{width:100%;margin-top:var(--space-md);display:block}.index-search input,.callout,.index-backlinks,.post-list-item--highlighted{border-radius:var(--radius-md);background-color:var(--color-reference-panel);box-shadow:var(--reference-inset-shadow)}.index-search input{appearance:none;width:100%;padding:var(--space-xs) var(--space-md);color:var(--color-text-primary);transition:background-color var(--motion-duration-fast) var(--motion-ease-out);font:var(--type-ref);letter-spacing:var(--tracking-default);border:0}.index-search input::placeholder{color:var(--color-text-reference);opacity:1}.index-search input:focus-visible{background-color:color-mix(in srgb, var(--color-reference-panel) 97%, var(--color-text-primary));outline:none}.index-letters{column-gap:var(--space-sm);row-gap:var(--space-2xs);min-width:0;color:inherit;font:inherit;letter-spacing:inherit;flex-wrap:wrap;flex:1 1 0;display:flex}.index-letters a,.index-entry-list a,.index-backlinks a,.index-breadcrumb a{color:inherit;text-decoration:none}.index-letters a:hover,.index-entry-list a:hover,.index-backlinks a:hover,.index-breadcrumb a:hover{text-underline-offset:var(--underline-offset-emphasis);text-decoration:underline}.index-group{grid-template-columns:var(--layout-index-letter-column) minmax(0, 1fr);align-items:start;gap:var(--space-md);margin-top:var(--space-xs);scroll-margin-top:var(--space-lg);display:grid}#index-results>.index-group:first-child{margin-top:var(--space-sm)}.article .index-group h2{color:var(--color-text-primary);font:var(--type-index-reference);margin-top:0}.index-group-mark--c{inline-size:var(--icon-index-group-c-inline-size);block-size:var(--icon-index-group-c-block-size);-webkit-mask:var(--icon-index-group-c-source) center / 100% 100% no-repeat;-webkit-mask:var(--icon-index-group-c-source) center / 100% 100% no-repeat;mask:var(--icon-index-group-c-source) center / 100% 100% no-repeat;background-color:currentColor;display:inline-block}.index-entry-list{list-style:none}.index-entry-list li+li{margin-top:var(--space-xs)}.index-entry-list a{font:var(--type-h2);letter-spacing:var(--tracking-default)}.index-entry-list a.index-entry-link--reference{font:var(--type-index-reference)}.index-empty{margin-top:var(--space-sm);color:var(--color-text-reference)}.index-entry-supporting{margin-top:var(--space-3xl);gap:var(--space-3xl);display:grid}.index-backlinks{padding:var(--space-md)}.article .index-backlinks h2{color:var(--color-text-reference);font:var(--type-meta);margin-top:0}.index-backlinks ul{margin-top:var(--space-sm);list-style:none}.index-backlinks li+li{margin-top:var(--space-xs)}.index-backlinks a{font:var(--type-body-small)}.word-explanation-term a{color:inherit;text-decoration:none}.word-explanation-term a:hover{text-underline-offset:var(--underline-offset);text-decoration:underline}@media (max-width:640px){.index-group{grid-template-columns:var(--layout-index-letter-column) minmax(0, 1fr);gap:var(--space-sm);margin-top:var(--space-2xs)}.index-entry-list li+li{margin-top:var(--space-2xs)}}.word-explanation{visibility:hidden;pointer-events:none;width:100vw;transition:grid-template-rows var(--motion-duration-base) var(--motion-ease-out), visibility 0s linear var(--motion-duration-base);grid-template-rows:0fr;margin-block:0;margin-inline:calc(50% - 50vw);display:grid}.word-explanation[data-open=true]{visibility:visible;pointer-events:auto;grid-template-rows:1fr;transition-delay:0s}.article-body>.word-explanation[data-group-open=true]+*{margin-top:0}.word-explanation-clip{min-height:0;overflow:hidden}.word-explanation-card{margin-block:var(--space-sm);background:var(--color-reference-panel);box-shadow:var(--reference-inset-shadow)}.word-explanation-inner{width:min(100%, calc(var(--layout-content-max) + var(--layout-page-margin) * 2));padding:var(--space-md) var(--layout-page-margin);margin-inline:auto}.word-explanation-bar{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.article .word-explanation-term{font:var(--type-ref);letter-spacing:var(--tracking-default);color:var(--color-text-reference)}.word-explanation-close{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0}.word-explanation-trigger{font:var(--type-ref);letter-spacing:var(--tracking-default);color:var(--color-text-reference);cursor:pointer;padding:0;text-decoration:none;display:inline}.word-explanation-trigger:hover{text-decoration:underline;text-decoration-thickness:var(--underline-thickness);text-underline-offset:var(--underline-offset-emphasis)}.word-explanation-trigger:focus-visible,.word-explanation-close:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.word-explanation-close{flex:0 0 var(--control-target-size);width:var(--control-target-size);height:var(--control-target-size);color:var(--color-text-reference);place-items:center;margin:-8px;padding:0;display:grid}.word-explanation-close-glyph,.word-explanation-close svg{width:var(--control-icon-size);height:var(--control-icon-size);display:block}.word-explanation-close:hover{color:var(--color-text-primary)}.word-explanation-body{margin-top:var(--space-2xs)}.word-explanation-body>*+*{margin-top:var(--space-sm)}.word-explanation-body,.word-explanation-body p{color:var(--color-text-primary);font:var(--type-body)}.cms-link[data-cms-link-kind=external]{color:var(--color-text-reference);font:var(--type-ref);letter-spacing:var(--tracking-default);text-decoration:none}.cms-link-label{text-decoration:none}.cms-link:not([data-cms-link-kind=external]):hover{text-underline-offset:var(--underline-offset);text-decoration:underline}.cms-link[data-cms-link-kind=external]:hover{text-decoration:none}.cms-link[data-cms-link-kind=external]:hover .cms-link-label{text-decoration:underline;text-decoration-thickness:var(--underline-thickness);text-underline-offset:var(--underline-offset-emphasis)}.cms-link-glyph{vertical-align:.08em;color:currentColor;width:.8em;height:.8em;margin-left:.18em;text-decoration:none;display:inline-block}.cms-link-glyph svg{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.masthead-index-link:after,.index-search input,.word-explanation{transition:none}}.callout{padding:var(--space-md)}.callout>*+*{margin-top:var(--space-sm)}.article-body pre{padding:var(--space-md);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-bg-inverse) 5%, var(--color-bg-canvas));font:var(--type-meta);letter-spacing:0;overflow-x:auto}.notion-custom-html-figure{margin-inline:0}.notion-custom-html{contain:layout style;isolation:isolate;width:100%;min-width:0;display:block;overflow:clip}.article-body figure img{border-radius:var(--radius-md);width:100%;height:auto}.article-body figcaption{margin-top:var(--space-2xs);font:var(--type-meta);color:var(--color-text-reference)}.table-wrap{overflow-x:auto}.article-body table{border-collapse:collapse;width:100%}.article-body th,.article-body td{padding:var(--space-xs);border-bottom:1px solid color-mix(in srgb, var(--color-bg-inverse) 18%, transparent);font-weight:inherit;text-align:left;vertical-align:top}.notion-columns{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.equation{font:var(--type-body);overflow-x:auto}.retry{margin-top:var(--space-md);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-canvas);color:var(--color-text-primary);font:var(--type-nav);cursor:pointer}@media (max-width:640px){.notion-columns{grid-template-columns:1fr}.word-explanation-inner{width:100%;padding:var(--space-md) var(--layout-page-margin)}}.content-navigation{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-3xl);padding-block:var(--space-lg);color:var(--color-text-reference);font:var(--type-meta);grid-template-columns:max-content minmax(0,1fr);display:grid}.content-navigation-link{justify-content:center;align-items:center;gap:calc((var(--space-2xs) + var(--space-xs)) / 2);min-width:0;color:var(--color-text-reference);text-decoration:none;display:flex}.content-navigation-link:hover{color:var(--color-text-primary)}.chapter-navigation-previous,.chapter-navigation-next{max-inline-size:var(--layout-chapter-title-max)}.chapter-navigation-previous{text-align:left;justify-self:start}.chapter-navigation-next{text-align:right;grid-column:2;justify-self:end}.chapter-navigation-previous>span:last-child,.chapter-navigation-next>span:first-child{overflow-wrap:break-word;min-width:0}.content-navigation-arrow{width:var(--icon-chapter-navigation-arrow-inline-size);height:var(--icon-chapter-navigation-arrow-block-size);-webkit-mask:var(--icon-chapter-navigation-arrow-source) center / contain no-repeat;-webkit-mask:var(--icon-chapter-navigation-arrow-source) center / contain no-repeat;mask:var(--icon-chapter-navigation-arrow-source) center / contain no-repeat;transform:rotate(var(--icon-chapter-navigation-arrow-rotation)) scaleY(-1);background-color:currentColor;flex:none;display:block}.content-navigation-arrow-next{transform:rotate(calc(180deg + var(--icon-chapter-navigation-arrow-rotation))) scaleY(-1)}.content-navigation.index-return-navigation{padding-block:0 var(--space-lg);margin-top:0}.site-footer{flex:0 0 calc(94px + env(safe-area-inset-bottom,0px));height:calc(94px + env(safe-area-inset-bottom,0px));margin-top:auto;margin-bottom:calc(0px - env(safe-area-inset-bottom,0px));padding:var(--space-lg) var(--layout-page-margin) calc(var(--space-lg) + env(safe-area-inset-bottom,0px));color:var(--color-text-primary);font:var(--type-nav);letter-spacing:var(--tracking-default);display:block;position:relative;overflow:visible}.site-footer:before,.site-footer:after{z-index:0;content:"";pointer-events:none;position:absolute}.site-footer:before{opacity:.03;background:radial-gradient(ellipse 50% 50% at center, var(--color-bg-inverse) 0%, color-mix(in srgb, var(--color-bg-inverse) 38%, transparent) 58%, transparent 100%);width:1000.49px;height:300.147px;top:-135.947px;left:48.1681px}.site-footer:after{opacity:.02;background:radial-gradient(ellipse 50% 50% at center, var(--color-bg-inverse) 0%, color-mix(in srgb, var(--color-bg-inverse) 38%, transparent) 58%, transparent 100%);width:806.725px;height:267.22px;top:-99.2197px;left:576.275px}.site-footer-meta{z-index:2;justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;height:30px;display:flex;position:relative}.site-footer-mark{z-index:3;width:78.8516px;height:30px;position:absolute;top:32px;left:calc(50% + 9.5px);translate:-50%}.site-footer-mark-art{background:var(--color-text-primary);width:100%;height:100%;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.site-footer-mark-art--desktop{-webkit-mask-image:url(/figma/footer-mark-desktop.svg);mask-image:url(/figma/footer-mark-desktop.svg)}.site-footer-mark-art--mobile{display:none}.site-footer-menu{gap:var(--space-md)}.site-footer-nav{margin-left:auto}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-underline-offset:var(--underline-offset);text-decoration:underline}.site-footer .cms-link-glyph{display:inline-block}.analytics-privacy-button{appearance:none;color:var(--color-text-primary);font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;text-decoration:none}.analytics-privacy-button:hover{text-underline-offset:var(--underline-offset);text-decoration:underline}@media (max-width:640px){.site-footer{flex-basis:calc(117.544px + env(safe-area-inset-bottom,0px));height:calc(117.544px + env(safe-area-inset-bottom,0px));padding:var(--space-md) var(--layout-page-margin) calc(var(--space-md) + env(safe-area-inset-bottom,0px));font:var(--type-nav)}.site-footer:before{opacity:.05;width:428.884px;height:157.719px;top:12.0535px;left:-17.9467px}.site-footer:after{opacity:.03;width:332.039px;height:124.515px;top:42.4904px;left:161.908px}.site-footer-meta{gap:var(--space-md);height:24px}.site-footer-mark{width:250px;height:21.5345px;top:76px;left:50%}.site-footer-mark-art--desktop{display:none}.site-footer-mark-art--mobile{display:block;-webkit-mask-image:url(/figma/footer-mark-mobile.svg);mask-image:url(/figma/footer-mark-mobile.svg);-webkit-mask-size:100% 100%;mask-size:100% 100%}.site-footer-menu{gap:var(--space-md)}}.analytics-consent{z-index:20;right:var(--space-md);bottom:var(--space-md);gap:var(--space-md);width:min(440px, calc(100vw - var(--space-md) * 2));padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-canvas);color:var(--color-text-primary);box-shadow:var(--analytics-panel-shadow);font:var(--type-body-small);letter-spacing:var(--tracking-default);display:grid;position:fixed}.analytics-consent-reference{color:var(--color-text-reference);font:var(--type-meta)}.analytics-consent-actions{justify-content:flex-end;gap:var(--space-xs);flex-wrap:wrap;display:flex}.analytics-consent-actions button{appearance:none;border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);color:inherit;font:var(--type-nav);cursor:pointer;background:0 0;border:0}.analytics-consent-actions button:hover{text-underline-offset:var(--underline-offset);text-decoration:underline}.analytics-consent-actions .analytics-consent-primary{background:var(--color-bg-inverse);color:var(--color-text-inverse)}@media (max-width:640px){.analytics-consent{right:var(--space-sm);bottom:var(--space-sm);width:calc(100vw - var(--space-sm) * 2)}.analytics-consent-actions{justify-content:stretch}.analytics-consent-actions button{flex:160px}}
