:root{color:#333;background:#faf9f5;font-family:Merriweather,"Noto Serif JP",Georgia,serif;font-size:16px;font-weight:400;line-height:1.75}*{box-sizing:border-box}body{margin:0}@media(max-width:1020px){body{overflow-x:hidden}}a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(175,173,169,.5)}h1,h2,h3{font-family:Montserrat,Noto Sans JP,sans-serif;font-weight:900;line-height:1.1}h1{margin:0 0 28px;padding-bottom:80px;font-size:40px}h3{margin:56px 0 28px;font-size:23px}p{margin:0 0 28px}ul,ol{margin:0 0 28px 28px;padding:0}li{margin-bottom:4px}li p{margin-bottom:14px}code{font-family:Consolas,Menlo,Monaco,Source Code Pro,Courier New,monospace;font-size:inherit;color:#3c7878}.kicker{margin:0 0 8px;font-family:Montserrat,Noto Sans JP,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f8f5e}.byline{color:#333333d1}.toc{list-style:none;margin-left:0}.toc a{border:0;display:grid;grid-template-columns:7.2rem 1fr;gap:.35rem}.toc strong{font-family:Montserrat,Noto Sans JP,sans-serif}.page{display:flex;flex-direction:column;align-items:stretch;width:100%;background:#faf9f5}.rail{position:sticky;top:0;z-index:2;display:flex;align-items:safe center;width:100%;height:50vh;flex:none;background:#202226;color:#dfddd9;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(223,221,217,.45) transparent}.rail::-webkit-scrollbar{width:10px;height:10px}.rail::-webkit-scrollbar-thumb{background:#dfddd966;border-radius:0}.rail::-webkit-scrollbar-track{background:transparent}.column{width:100%;background:#faf9f5;padding:112px 10%}.column-inner{width:min(420px,100%);margin:0 auto}.step{position:relative;min-height:400px;display:flex;align-items:center}.step-bar{position:absolute;left:-24px;width:3px;border-radius:3px;background:#afada980}.step-body{width:100%}.sample{margin:0 0 28px;padding:0 0 0 14px;overflow:auto;border-radius:10px;font-family:Consolas,Menlo,Monaco,Source Code Pro,Courier New,monospace;font-size:85%;line-height:1.55;tab-size:2;white-space:pre-wrap;color:#333;background:#faf9f5}.code-frame{width:100%;max-height:100%;overflow:auto;padding:28px 40px}.code-frame pre{margin:0;font-family:Consolas,Menlo,Monaco,Source Code Pro,Courier New,monospace;font-size:14px;line-height:1.55;tab-size:2;color:#dfddd9;background:transparent}.code-line{min-height:1.55em;white-space:pre}.code-line:not(.hot){opacity:.45}.code-frame pre:not(:has(.hot)) .code-line{opacity:1}.code-line.hot{background:#aaf6d91a}.tok-keyword,.tok-tag,.tok-string,.tok-number,.tok-boolean,.tok-function,.tok-attr-name,.tok-operator,.tok-punctuation,.tok-class-name,.tok-builtin,.tok-property{color:#aaf6d9}.tok-comment{font-style:italic;color:#dfddd98c}.col-hot{background:#aaf6d947}.fiber-svg{display:block;width:100%;height:100%;min-height:50vh;background:#202226}.fiber-caption,.fiber-root,.fiber-tag,.fiber-legend text{fill:#f4f1ea;font-family:Consolas,Menlo,Monaco,monospace;font-size:16px}.fiber-tag{fill:#b7f3df}.fiber-caption{font-size:18px;letter-spacing:.12em}.fiber-edge{fill:none;stroke-width:1.7;opacity:.22;transition:opacity .35s ease}.fiber-edge.lit{opacity:1}.fiber-edge.plain{stroke:#f4f1ea;opacity:.9}.fiber-child{stroke:#e6b15a}.fiber-parent{stroke:#f4e7a8}.fiber-sibling{stroke:#8fd0ea}.fiber-legend text{font-size:14px}.footer{padding-bottom:2rem}@media(min-width:1000px){.page{flex-direction:row;align-items:flex-start;min-width:1020px}.rail{width:50%;height:100vh}.column{width:50%;padding:256px 40px 256px 85px}.column-inner{width:420px;margin:0}.code-frame{padding:32px 56px}.fiber-svg{width:100%;height:auto;max-height:100vh}}@media(prefers-reduced-motion:reduce){.fiber-edge{transition:none}}
