@font-face{font-family:roboto;font-style:italic;font-weight:300;src:local("Roboto Light Italic"),local("Roboto-LightItalic"),url(fonts/roboto-v19-latin-300italic.woff2)format("woff2"),url(fonts/roboto-v19-latin-300italic.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url(fonts/roboto-v19-latin-regular.woff2)format("woff2"),url(fonts/roboto-v19-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/roboto-v19-latin-700.woff2)format("woff2"),url(fonts/roboto-v19-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;src:local("Roboto Mono"),local("RobotoMono-Regular"),url(fonts/roboto-mono-v6-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v6-latin-regular.woff)format("woff")}@layer theme{@charset "UTF-8";html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.hidden{display:none}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html,body{min-width:20rem;overflow-x:hidden}body{color:#343a40;background:#fff;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:#05b}a:visited{color:#8440f1}img{vertical-align:baseline}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-left:1rem}.levels-1 ul ul,.levels-2 ul ul ul,.levels-3 ul ul ul ul,.levels-4 ul ul ul ul ul,.levels-5 ul ul ul ul ul ul,.levels-6 ul ul ul ul ul ul ul{display:none}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-right:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a{color:#343a40}.book-menu a.active{color:#05b}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span{font-weight:bolder}.book-section-flat>ul{padding-left:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-header{margin-bottom:1rem;display:none}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search::after{display:block;content:"";clear:both}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:#f8f9fa;color:#343a40}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;margin:.5rem;right:0;top:0;width:1rem;height:1rem;border:1px solid transparent;border-top-color:#343a40;border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc nav{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{display:flex;padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;margin-right:.5rem}.book-posts{min-width:20rem;max-width:40rem;flex-grow:1;padding:1rem}.book-posts article{padding-bottom:1rem}.book-home{padding:1rem}aside nav,.book-page,.book-posts,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}@media screen and (max-width:57rem){.book-toc{display:none}}@media screen and (max-width:36rem){.book-menu{margin-left:-16rem;font-size:16px}.book-header{display:flex}#menu-control:checked+main .book-menu nav,#menu-control:checked+main .book-page,#menu-control:checked+main .book-posts{transform:translateX(16rem)}#menu-control:checked+main .book-header label{transform:rotate(90deg)}#menu-control:checked+main .markdown{opacity:.25}}@media screen and (min-width:80rem){.book-page,.book-posts,.book-menu nav,.book-toc nav{padding:2rem 1rem}}body{font-family:roboto,noto color emoji,sans-serif}code{font-family:roboto mono,noto color emoji,monospace}.markdown{line-height:1.6}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown>:first-child{margin-top:0}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:#e9ecef;border-radius:.15rem;font-size:.875em}.markdown pre{padding:1rem;background:#f8f9fa;border-radius:.15rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:.25rem solid #e9ecef;border-radius:.15rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;line-height:1;border:1px solid #e9ecef}.markdown table tr:nth-child(2n){background:#f8f9fa}.markdown hr{height:1px;border:none;background:#e9ecef}.markdown ul,.markdown ol{padding-left:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-left:2rem}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden}.book-expand .book-expand-head{background:#f8f9fa;padding:.5rem 1rem;cursor:pointer}.book-expand .book-expand-content{display:none;padding:1rem}.book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid #e9ecef;border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid #f8f9fa;padding:1rem;display:none}.book-tabs input[type=radio]:checked+label{border-bottom:1px solid #05b}.book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.book-columns{margin-left:-1rem;margin-right:-1rem}.book-columns>div{margin:1rem 0;min-width:13.2rem;padding:0 1rem}a.book-btn{display:inline-block;color:#05b!important;text-decoration:none!important;border:1px solid #05b;border-radius:.15rem;padding:.25rem 1rem;margin-top:.5rem;margin-bottom:.5rem;cursor:pointer}.book-hint.info{border-left-color:#6bf;background-color:rgba(102,187,255,.1)}.book-hint.warning{border-left-color:#fd6;background-color:rgba(255,221,102,.1)}.book-hint.danger{border-left-color:#f66;background-color:rgba(255,102,102,.1)}@keyframes anim-wave{0%{background-position:0 0}100%{background-position:-1440px 0}}@media(min-width:1px){.hidden-xs-up{display:none!important}}@media(max-width:0){.hidden-xs-down{display:none!important}}@media(min-width:577px){.hidden-sm-up{display:none!important}}@media(max-width:576px){.hidden-sm-down{display:none!important}}@media(min-width:769px){.hidden-md-up{display:none!important}}@media(max-width:768px){.hidden-md-down{display:none!important}}@media(min-width:993px){.hidden-lg-up{display:none!important}}@media(max-width:992px){.hidden-lg-down{display:none!important}}@media(min-width:1201px){.hidden-xl-up{display:none!important}}@media(max-width:1200px){.hidden-xl-down{display:none!important}}body{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1rem;font-weight:400;line-height:normal}a:hover{text-decoration:underline;color:#529ef6}a:visited{color:#444}.book-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.book-brand{margin:0;padding:0}.book-sidebar-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;color:#444;background:0 0;border:0;border-radius:.5rem;cursor:pointer}.book-sidebar-toggle:hover{background:#eee}.book-sidebar-toggle:focus-visible{outline:2px solid #529ef6;outline-offset:2px}.book-sidebar-rail{display:none;flex-direction:column;align-items:center;gap:.35rem}.book-sidebar-rail-item{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;color:#444;background:0 0;border:0;border-radius:.5rem;cursor:pointer}.book-sidebar-rail-item:visited{color:#444}.book-sidebar-rail-item:hover,.book-sidebar-rail-item.current{text-decoration:none;background:#eee}.book-sidebar-rail-item:focus-visible{outline:2px solid #529ef6;outline-offset:2px}.book-sidebar-rail-icon{font-size:.85rem;line-height:1}.book-sidebar-toggle-icon{display:block;width:1.125rem;height:1.125rem}.book-sidebar-toggle-open{display:none}.book-menu,.book-menu nav{transition:width .2s ease,flex-basis .2s ease}@media(min-width:577px){.book-sidebar-collapsed .book-menu{flex-basis:4.25rem}.book-sidebar-collapsed .book-menu nav{width:4.25rem;padding-right:.75rem;padding-left:.75rem;overflow:hidden}.book-sidebar-collapsed .book-sidebar-header{justify-content:center}.book-sidebar-collapsed .book-brand,.book-sidebar-collapsed .book-sidebar-content{display:none}.book-sidebar-collapsed .book-sidebar-rail{display:flex}.book-sidebar-collapsed .book-sidebar-toggle-close{display:none}.book-sidebar-collapsed .book-sidebar-toggle-open{display:block}}@media(max-width:576px){.book-sidebar-toggle{display:none}}.book-header{display:flex}@media(min-width:769px){.book-header{padding-top:.5rem;padding-bottom:1rem}}@media(min-width:577px){.book-header label[for=menu-control]{display:none}}@media(min-width:769px){.book-header strong{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:2rem;font-weight:700;line-height:1.4}}.menu{border-right:1px solid #eee}.menu .book-menu-toggler{display:inline-block;margin-left:.5rem;margin-top:-.3rem;float:right}.menu .book-menu-toggler:hover{opacity:.2}.menu .book-menu-toggler .icon-collapse{display:inline-block;width:9px;height:1px;background-image:url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAsAAAABCAYAAAAIN1RAAAAAAXNSR0IArs4c6QAAABJJREFUCB1jYGBgqAfi/0TgegDRRgn2STrklAAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50%;background-size:cover}.menu hr{border:none;border-top:1px solid #eee;margin:1.5rem 0}.menu ul{margin-top:.5rem;margin-bottom:.5rem}.menu ul li{margin:.7rem 0;position:relative}.menu ul li a{display:flex;justify-content:space-between;align-items:center;font-size:.8375rem;line-height:1.2rem;font-weight:400}.menu ul li a.current{color:#444;font-weight:700}.menu ul li a:hover{color:#529ef6;opacity:1;text-decoration:underline}.menu ul li.current{font-weight:700}.menu ul li.current>ul>li{font-weight:400}.menu ul li:not(.current)>ul{display:none}.menu ul li:not(.current)>.book-menu-toggler{margin-top:-.1rem}.menu ul li:not(.current) .icon-collapse{display:inline-block;width:9px;height:9px;background-image:url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c6QAAAD9JREFUGBljYMAO6rELYxf9j02YCZsgLjHaKgZ5BuRGZAxyCTIfxK4HCWIDIEkMQFs3Y1iHS4AZlwRQ/CC6HAAUSwxGnSOdTAAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50%;background-size:cover}.code-singleline,.book-page.content .markdown .checklist .checklist-text code,.content h1 code,.content h2 code,.content h3 code,.content h4 code,.content h5 code,.content h6 code,.content p code,.content li code,.content td:not(.lntd) code,.toc ul li code{font-size:.75em;background:rgba(82,158,246,5%);border:1px solid rgba(82,158,246,.051);margin-left:.2rem;margin-right:.2rem;padding:.2rem .5rem;color:#529ef6}.toc{background-color:#f8f8f8;border-left:1px solid #eee}.toc>nav{padding-top:1rem;padding-left:0}.toc ul{margin-top:.5rem;margin-bottom:.5rem}.toc ul li{margin:.4rem 0}.toc ul li a{font-size:.75rem;line-height:1.3rem;padding-left:1rem;color:#777}.toc ul li a.active,.toc ul li a.current{color:#444;font-weight:700}.toc ul li a:hover{color:#529ef6}.book-page{max-width:700px;margin:0 auto}.content{word-break:break-all}.content h1{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:2rem;font-weight:700;line-height:2.8rem}.content h1:first-child{margin-top:0}.content h2{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1.5rem;font-weight:700;line-height:2.1rem}.content h2:first-child{margin-top:0}@media(max-width:768px){.content h2{font-size:1.2rem}}.content h3{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.96rem}@media(max-width:768px){.content h3{font-size:1.2rem}}.content h4{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1.3rem;font-weight:700;line-height:1.82rem}@media(max-width:768px){.content h4{font-size:1.2rem}}.content h5{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1.2rem;font-weight:700;line-height:1.68rem}.content h6{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.54rem}.content p{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.875rem;font-weight:400;line-height:1.8rem}.content ul,.content ol{margin-left:0;padding-left:1.5rem}.content ul li,.content ol li{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.875rem;font-weight:400;line-height:1.8rem}.content>table{width:100%;border-collapse:collapse;margin-bottom:0;border-top:1px solid #eee;width:100%}.content>table th{font-weight:700}.content>table th,.content>table td{padding:5px 10px}.content>table thead tr th,.content>table thead tr td{font-size:.8rem;border:1px solid #eee;border-bottom:2px solid #eee}.content>table tbody tr:first-child th,.content>table tbody tr:first-child td{border-top:none}.content>table tbody th{border:1px solid #eee;border-bottom:2px solid #eee}.content>table tbody td{border:1px solid #eee}.content>table thead th{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.625rem;font-weight:700;line-height:1;padding:.5rem}.content>table thead th:empty{border:none;height:0;padding:0}.content>table tbody tr:nth-child(even){background-color:#fff}.content>table tbody td{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.85rem;font-weight:400;line-height:1.2rem;padding:.5rem}.content>table tbody td img{width:100%;height:auto}.content em{color:#999}.content hr{margin-top:2rem;margin-bottom:2rem;border:none;border-top:1px solid #eee}@media(max-width:768px){.content hr{margin-top:2rem;margin-bottom:2rem}}.content table,.content ul,.content ol{margin-top:1rem;margin-bottom:1rem}@media(max-width:768px){.content table,.content ul,.content ol{margin-top:1rem;margin-bottom:1rem}}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{margin-top:1.8rem;margin-bottom:.5rem}@media(max-width:768px){.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{margin-top:1.8rem;margin-bottom:.5rem}}.content h1 a,.content h2 a,.content h3 a,.content h4 a,.content h5 a,.content h6 a{font-size:inherit;line-height:inherit}.content p{margin-top:.5rem;margin-bottom:.5rem}@media(max-width:768px){.content p{margin-top:.5rem;margin-bottom:.5rem}}.content .highlight{margin-top:1rem;margin-bottom:1rem}@media(max-width:768px){.content .highlight{margin-top:1rem;margin-bottom:1rem}}.content .highlight .chroma .lnt{line-height:1.2}.content .highlight .chroma code{tab-size:4;line-height:1.2;padding:0 .1rem}.content .markdown table{margin-top:2rem;margin-bottom:2rem}.content .markdown table tr td{font-size:.875rem;line-height:1.6rem}.content p img{display:block;margin:1rem auto;border-radius:.5rem}.youtube{position:relative;width:100%;margin-top:1rem;margin-bottom:1rem;padding-top:56.25%;border-radius:.5rem;overflow:hidden}.youtube>iframe{position:absolute;top:0;right:0;width:100%!important;height:100%!important}.button-group{margin:0 -.5rem;display:flex;justify-content:space-between;align-content:stretch;align-items:stretch;flex-wrap:wrap}.button-group>a{flex:1 0 50%;display:flex;justify-content:flex-start;align-content:center;align-items:center;font-size:.875rem;margin:.5rem;padding:.5rem 1rem;border:1px solid #529ef6;color:#529ef6;border-radius:1.5rem}.button-group>a:hover{text-decoration:none;border-color:#529ef6;background-color:rgba(82,158,246,.1)}.book-page.content .markdown h2.pill,.book-page.content .markdown h3.pill,.book-page.content .markdown h4.pill{display:block;clear:both;width:fit-content;max-width:100%;padding:.5rem 1.25rem;font-size:1rem;font-weight:400;line-height:1.6rem;color:#444;background-color:rgba(82,158,246,.12);border-radius:0 1.25rem 1.25rem 1.25rem}.book-page.content .markdown .book-hint{margin:1.5rem 0;padding:1rem 1.25rem;color:#444;background-color:#f8f9fa;border:none;border-radius:.75rem}.book-page.content .markdown .book-hint.warning{background-color:#fffaeb}.book-page.content .markdown .book-hint.danger{background-color:#fff3f3}.book-page.content .markdown .book-hint .book-hint-icon{float:left;margin-right:.4rem;font-family:noto color emoji,apple color emoji,segoe ui emoji,sans-serif;font-size:.8125rem;line-height:1.4rem}.book-page.content .markdown .book-hint .book-hint-body{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.8125rem;font-weight:400;line-height:1.4rem}.book-page.content .markdown .book-hint .book-hint-body>:first-child{margin-top:0}.book-page.content .markdown .book-hint .book-hint-body>:last-child{margin-bottom:0}.book-page.content .markdown .book-hint .book-hint-body p,.book-page.content .markdown .book-hint .book-hint-body li{font-size:inherit;line-height:inherit}.book-page.content .markdown .book-hint .book-hint-body p{margin-top:.25rem;margin-bottom:.25rem}.book-page.content .markdown .book-hint .book-hint-body ul,.book-page.content .markdown .book-hint .book-hint-body ol{margin-top:.5rem;margin-bottom:.5rem}.book-card-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}@media(max-width:768px){.book-card-group{grid-template-columns:minmax(0,1fr)}}.book-page.content .markdown a.book-card{display:flex;flex-direction:column;overflow:hidden;color:#444;background-color:#fff;border:1px solid #eee;border-radius:.75rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.book-page.content .markdown a.book-card:visited{color:#444}.book-page.content .markdown a.book-card:hover{text-decoration:none;border-color:#529ef6;box-shadow:0 .5rem 1.25rem rgba(68,68,68,.12);transform:translateY(-2px)}.book-page.content .markdown a.book-card:hover .book-card-title,.book-page.content .markdown a.book-card:hover .book-card-label{color:#529ef6}.book-page.content .markdown a.book-card:focus-visible{outline:2px solid #529ef6;outline-offset:2px}.book-page.content .markdown a.book-card .book-card-image{aspect-ratio:16/9;background-color:#000;border-bottom:1px solid #eee}.book-page.content .markdown a.book-card .book-card-image img{display:block;width:100%;height:100%;object-fit:cover}.book-page.content .markdown a.book-card .book-card-body{display:flex;flex:auto;flex-direction:column;gap:.35rem;padding:.85rem 1rem 1rem}.book-page.content .markdown a.book-card .book-card-title{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:1rem;font-weight:700;line-height:1.5rem;word-break:normal;overflow-wrap:anywhere}.book-page.content .markdown a.book-card .book-card-text{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.8125rem;font-weight:400;line-height:1.4rem;color:#777}.book-page.content .markdown a.book-card .book-card-text p{margin:0;font-size:inherit;line-height:inherit}.book-page.content .markdown a.book-card .book-card-label{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.8125rem;font-weight:700;line-height:1.2rem;margin-top:auto;padding-top:.5rem;color:#529ef6}.book-page.content .markdown .toc-list{margin:1rem 0}.book-page.content .markdown .toc-list>a{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.875rem;font-weight:400;line-height:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .25rem;color:#444;border-bottom:1px solid #eee}.book-page.content .markdown .toc-list>a:last-child{border-bottom:none}.book-page.content .markdown .toc-list>a::after{flex:none;color:#777;content:"›"}.book-page.content .markdown .toc-list>a:visited{color:#444}.book-page.content .markdown .toc-list>a:hover{color:#529ef6;text-decoration:none;background-color:rgba(82,158,246,5%)}.book-page.content .markdown .toc-list>a:hover::after{color:#529ef6}.book-page.content .markdown .checklist{margin:1rem 0;overflow:hidden;background-color:#fff;border:1px solid #e4e6ea;border-radius:.75rem}.book-page.content .markdown .checklist .checklist-item{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5rem;display:flex;align-items:flex-start;gap:.75rem;margin:0;padding:.75rem 1rem;color:#444;cursor:pointer;border-bottom:1px solid #eee;transition:background-color .15s ease}.book-page.content .markdown .checklist .checklist-item:last-child{border-bottom:none}.book-page.content .markdown .checklist .checklist-item:hover{background-color:rgba(82,158,246,4%)}.book-page.content .markdown .checklist .checklist-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.book-page.content .markdown .checklist .checklist-box{position:relative;flex:none;width:1.1rem;height:1.1rem;margin-top:.2rem;background-color:#fff;border:1.5px solid #c8ccd2;border-radius:.3rem;transition:background-color .15s ease,border-color .15s ease}.book-page.content .markdown .checklist .checklist-box::after{position:absolute;top:50%;left:50%;box-sizing:border-box;width:.35rem;height:.6rem;content:"";border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:translate(-50%,-63%)rotate(45deg)}.book-page.content .markdown .checklist .checklist-input:checked+.checklist-box{background-color:#529ef6;border-color:#529ef6}.book-page.content .markdown .checklist .checklist-input:checked+.checklist-box::after{opacity:1}.book-page.content .markdown .checklist .checklist-input:focus-visible+.checklist-box{outline:2px solid #529ef6;outline-offset:2px}.book-page.content .markdown .checklist .checklist-input:checked~.checklist-text{color:#777}.book-page.content .markdown .checklist .checklist-text{flex:auto}.confetti-piece{position:fixed;z-index:1000;display:block;pointer-events:none;will-change:transform,opacity}.page-next{display:flex;justify-content:flex-end;margin-top:2.5rem}.book-page.content .markdown a.page-next-btn{font-family:roboto,noto sans jp,noto color emoji,sans-serif;font-size:.875rem;font-weight:700;line-height:1.25rem;display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;color:#fff;background-color:#529ef6;border-radius:2rem;transition:background-color .15s ease}.book-page.content .markdown a.page-next-btn:visited{color:#fff}.book-page.content .markdown a.page-next-btn:hover{color:#fff;text-decoration:none;background-color:#2283f3}.book-page.content .markdown a.page-next-btn:focus-visible{outline:2px solid #529ef6;outline-offset:2px}.book-page.content .markdown a.page-next-btn .page-next-arrow{font-size:1rem;line-height:1}.book-page.content .markdown a.page-next-btn.is-wiggle{animation:page-next-wiggle .6s ease-in-out .3s 1}@keyframes page-next-wiggle{0%,100%{transform:rotate(0)scale(1)}15%{transform:rotate(-4deg)scale(1.04)}30%{transform:rotate(4deg)scale(1.04)}45%{transform:rotate(-3deg)scale(1.03)}60%{transform:rotate(3deg)scale(1.02)}75%{transform:rotate(-1.5deg)scale(1.01)}}.book-menu-toggler{display:flex;align-self:stretch;justify-content:center;align-content:center;align-items:center;padding:.2rem .5rem;cursor:pointer}.icon-plus{display:inline-block;width:9px;height:9px;background-image:url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAXNSR0IArs4c6QAAAD9JREFUGBljYMAO6rELYxf9j02YCZsgLjHaKgZ5BuRGZAxyCTIfxK4HCWIDIEkMQFs3Y1iHS4AZlwRQ/CC6HAAUSwxGnSOdTAAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50%;background-size:cover}.icon-minus{display:inline-block;width:9px;height:1px;background-image:url("data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAsAAAABCAYAAAAIN1RAAAAAAXNSR0IArs4c6QAAABJJREFUCB1jYGBgqAfi/0TgegDRRgn2STrklAAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-position:50%;background-size:cover}a.book-btn{color:#529ef6!important;border-color:#529ef6!important;border-radius:1.5rem;padding:.5rem 1.5rem}a.book-btn:hover{background-color:rgba(82,158,246,.1)}a.book-btn+a.book-btn{margin:0 .25rem}.book-page.content .markdown a{color:#529ef6}.book-page.content .markdown>ul li ul,.book-page.content .markdown>ol li ul{margin:0;padding:0 0 0 1.5rem}.markdown .highlight.has-code-copy{position:relative}.markdown .highlight.has-code-copy pre{padding-top:2.25rem}.code-copy-btn{position:absolute;top:.4rem;right:.4rem;padding:.15rem .5rem;font-family:inherit;font-size:.7rem;line-height:1.4;color:rgba(255,255,255,.8);background:rgba(255,255,255,8%);border:1px solid rgba(255,255,255,.25);border-radius:.25rem;cursor:pointer}.code-copy-btn:hover{color:#fff;background:rgba(255,255,255,.16)}.code-copy-btn:focus-visible{outline:2px solid #529ef6;outline-offset:2px}}