@import "https://fonts.googleapis.com/earlyaccess/notosansjp.css";@import 'https://fonts.googleapis.com/css2?family=Epilogue&family=JetBrains+Mono:wght@300;400;500;600&family=Source+Code+Pro:wght@400;500;600&display=swap';@import 'https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Montserrat:wght@600;700&family=Oswald:wght@500;600&display=swap';@import 'https://fonts.googleapis.com/css2?family=Marcellus&display=swap';:root{--color-heading:#17191c;--color-heading-border:#17191c2e;--color-body:#1c1e21;--color-muted:#555a5f;--color-bg-h2:#ece6d6;--color-bg-inline-code:#e8e1cf;--color-info:#1f4a63;--color-success:#2c6142;--color-warning:#8a5a20;--color-note:#555555;--font-body:'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic,
               "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro",
               'メイリオ', Meiryo, sans-serif;--font-heading:'Noto Sans JP', sans-serif;--font-code:"Source Code Pro", "Noto Sans JP", "Roboto Mono", monospace;--font-date:"Epilogue", sans-serif;--font-tag:"JetBrains Mono", "Noto Sans JP", sans-serif;--font-logo:"Montserrat", sans-serif;--weight-logo:600;--font-brand:"IBM Plex Sans", sans-serif;--weight-brand:500;--font-num:"Oswald", sans-serif;--radius-sm:4px;--radius-md:0.15rem}:root{--color-accent:#9c3418;--color-surface:#ece6d6;--color-border:#d8d0bc;--color-inverse:#f6f2e7;--color-header-bg:#3f4a2c;--header-pin-offset:5rem;--header-release-offset:1rem;--nav-max-height:8rem;--dur-header-pin:0.2s;--space-section:2.5rem;--radius-lg:0.45rem}:root{--color-code-bg:#343a4a;--color-code-hl-bg:#454d70;--font-code-size:1rem}:root{--color-code-fg:#eef1f8;--color-code-comment:#a5add6;--color-code-error:#ff8f96;--color-code-lineno:#a2aad2}:root{--font-hero:var(--font-heading);--font-h1:"Marcellus", "Noto Sans JP", serif;--font-section-title:var(--font-heading);--font-h2:var(--font-heading);--font-h3:var(--font-heading);--font-h4:var(--font-heading);--font-h5:var(--font-heading);--font-accent:"Marcellus", "Noto Sans JP", serif;--fs-body:1.125rem;--fw-body:300;--measure:46rem;--lh-body:1.7;--fs-site-title:1.5rem;--fw-site-title:700;--color-site-title:#ffffff;--fs-nav:0.95rem;--color-nav:#dfe3cf;--color-nav-hover:#ffffff;--dur-nav-underline:0.25s;--fs-brand:1.2em;--ls-brand:0.01em;--fs-logo:1em;--ls-logo:0.005em;--fs-hero:clamp(1.9rem, 5vw, 2.8rem);--fw-hero:700;--color-hero:var(--color-heading);--fs-lead:1.15rem;--fs-h1:2.1rem;--fw-h1:400;--color-h1:var(--color-heading);--fs-section-title:1.5rem;--fw-section-title:700;--color-section-title:var(--color-heading);--fs-h2:1.8rem;--fw-h2:300;--color-h2:var(--color-heading);--fs-h3:1.3rem;--fw-h3:400;--color-h3:var(--color-heading);--fs-h4:1.1rem;--fw-h4:700;--color-h4:var(--color-heading);--fs-h5:1rem;--fw-h5:700;--color-h5:var(--color-heading);--lh-heading:1.4;--fs-meta:0.75rem;--color-meta:var(--color-muted);--fs-footer:0.875rem;--color-footer:var(--color-muted);--fs-copyright:0.875rem;--color-copyright:var(--color-muted);--fs-card-title:1.25rem;--fw-card-title:700;--fs-card-text:0.95rem}*{box-sizing:border-box}body{position:relative;margin:0;font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-body);background:var(--color-inverse)}img{max-width:100%;height:auto}a{color:var(--color-accent)}.container{max-width:960px;margin:0 auto;padding:0 1rem}.header-sentinel{position:absolute;top:0;left:0;width:1px;height:var(--header-pin-offset);pointer-events:none}.header-sentinel--release{height:var(--header-release-offset)}.site-header{position:sticky;top:0;z-index:10;padding:1rem 0;background:var(--color-header-bg);border-bottom:1px solid var(--color-heading-border);transition:padding var(--dur-header-pin)ease}.site-header--pinned{padding:.5rem 0;box-shadow:0 1px 8px rgb(0 0 0/.25)}.site-header--pinned .site-title{--fs-site-title:1.75rem}.site-header--pinned .site-nav{max-height:0;opacity:0;visibility:hidden;transform:translateY(-.35rem)}.site-header--pinned .container{row-gap:0}.site-title{transition:font-size var(--dur-header-pin)ease}.site-nav{max-height:var(--nav-max-height);overflow:hidden;transition:max-height var(--dur-header-pin)ease,opacity var(--dur-header-pin)ease,transform var(--dur-header-pin)ease,visibility var(--dur-header-pin)}.site-header--no-transition .site-nav{transition:none}@media(prefers-reduced-motion:reduce){.site-header,.site-title,.site-nav{transition:none}}.site-header .container{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem}.site-title{font-family:var(--font-heading);font-size:var(--fs-site-title);font-weight:var(--fw-site-title);color:var(--color-site-title);text-decoration:none;letter-spacing:.01em}.site-nav{display:flex;flex-wrap:wrap;flex-basis:100%;gap:1.25rem;font-size:var(--fs-nav)}.site-nav a{position:relative;color:var(--color-nav);text-decoration:none;transition:color var(--dur-nav-underline)ease}.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-.25em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform var(--dur-nav-underline)ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-nav-hover)}.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left center}@media(prefers-reduced-motion:reduce){.site-nav a,.site-nav a::after{transition:none}}.site-header__end{display:none;align-self:center;align-items:center;gap:.5rem}.site-shortcut{color:var(--color-nav);text-decoration:none;transition:color var(--dur-nav-underline)ease}.site-shortcut:hover,.site-shortcut:focus-visible{color:var(--color-nav-hover)}.site-menu-button{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin:-.5rem -11px -.5rem 0;padding:0;border:0;border-radius:var(--radius-sm);background:0 0;color:var(--color-nav);cursor:pointer}.site-menu-button:hover,.site-menu-button:focus-visible{color:var(--color-nav-hover)}.site-menu-button:focus-visible{outline:2px solid currentColor;outline-offset:-4px}.site-menu-button__bar{display:block;width:22px;height:2px;border-radius:1px;background:currentColor;transition:transform var(--dur-header-pin)ease,opacity var(--dur-header-pin)ease}.site-header--menu-open .site-menu-button__bar:nth-child(1){transform:translateY(7px)rotate(45deg)}.site-header--menu-open .site-menu-button__bar:nth-child(2){opacity:0}.site-header--menu-open .site-menu-button__bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.js .site-header--pinned .site-header__end{display:flex}.js .site-header--pinned .site-nav{position:absolute;top:100%;right:max(1rem,calc((100% - 960px)/2 + 1rem));flex-direction:column;flex-wrap:nowrap;gap:0;min-width:12rem;padding:.5rem 0;background:var(--color-header-bg);border-radius:0 0 var(--radius-lg)var(--radius-lg);box-shadow:0 6px 16px rgb(0 0 0/.25)}.js .site-header--pinned .site-nav a{padding:.75rem 1.25rem}@media(max-width:640px){.js .site-header .site-header__end{display:flex}.js .site-header .container{flex-wrap:nowrap;column-gap:.75rem}.js .site-header .site-brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,calc(9.7vw - 18px),1.2em)}.js .site-header .site-header__end{flex-shrink:0}.js .site-header .site-nav{position:absolute;top:100%;right:1rem;flex-direction:column;flex-wrap:nowrap;gap:0;min-width:12rem;max-height:0;padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(-.35rem);background:var(--color-header-bg);border-radius:0 0 var(--radius-lg)var(--radius-lg);box-shadow:0 6px 16px rgb(0 0 0/.25)}.js .site-header .site-nav a{padding:.75rem 1.25rem}}.js .site-header.site-header--menu-open .site-nav{max-height:24rem;opacity:1;visibility:visible;transform:none}.js .site-header--menu-open .site-nav a::after,.js .site-header--pinned .site-nav a::after{content:none}.js .site-header--menu-open .site-nav a:hover,.js .site-header--menu-open .site-nav a:focus-visible{background:rgb(255 255 255/8%)}.site-footer{padding:2rem 0;margin-top:1.5rem;border-top:1px solid var(--color-border);color:var(--color-footer);font-size:var(--fs-footer)}.site-footer p{margin:.25rem 0}.site-footer__nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.25rem 0}.site-copyright{font-size:var(--fs-copyright);color:var(--color-copyright)}.hero{padding:calc(var(--space-section) * 1.2)0;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.hero h1{font-family:var(--font-hero);font-size:var(--fs-hero);font-weight:var(--fw-hero);line-height:1.35;color:var(--color-hero);margin:0 0 1rem}.hero .lead{font-size:var(--fs-lead);color:var(--color-body);max-width:40rem;margin:0 0 2rem}.section{padding:var(--space-section)0}.section+.section{border-top:1px solid var(--color-border)}.section-title{font-family:var(--font-section-title);font-size:var(--fs-section-title);font-weight:var(--fw-section-title);color:var(--color-section-title);border-left:solid 6px var(--color-heading);padding-left:.6rem;margin:0 0 1.5rem}h1.section-title{font-family:var(--font-h1);font-size:var(--fs-h1);font-weight:var(--fw-h1);color:var(--color-h1);border-left-width:8px;padding-left:.7rem;margin:1.75rem 0 2rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1.5rem}.card{display:block;padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-inverse);text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.card h3{font-family:var(--font-heading);font-size:var(--fs-card-title);font-weight:var(--fw-card-title);color:var(--color-heading);margin:0 0 .5rem}.card p{font-size:var(--fs-card-text);color:var(--color-muted);margin:0}.card .card-status{display:inline-block;font-family:var(--font-tag);font-size:var(--fs-meta);color:var(--color-meta);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1rem .5rem;margin-bottom:.75rem}.btn{display:inline-block;padding:.7rem 1.6rem;border-radius:var(--radius-md);font-size:1rem;text-decoration:none;border:1px solid var(--color-accent);color:var(--color-accent);background:0 0}.btn-primary{background:var(--color-accent);color:var(--color-inverse)}.btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{border-color:color-mix(in srgb,var(--color-accent) 80%,black);color:color-mix(in srgb,var(--color-accent) 80%,black)}.btn-primary:hover{background:color-mix(in srgb,var(--color-accent) 80%,black);color:var(--color-inverse)}.btn:focus-visible,.card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.info-table{width:100%;border-collapse:collapse;font-size:1rem}.info-table th,.info-table td{text-align:left;vertical-align:top;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.info-table th{width:12rem;font-weight:700;color:var(--color-heading);white-space:nowrap}.info-table+.info-table,.info-table:has(+.info-table){border-top:2px solid var(--color-heading)}.info-table+.info-table{margin-top:2rem}.info-table+.info-table tr:first-child>*,.info-table:has(+.info-table) tr:first-child>*{background:var(--color-surface);font-weight:700}@media(max-width:640px){.info-table th,.info-table td{display:block;width:auto;border-bottom:none;padding:.25rem 0}.info-table td{padding-bottom:1rem;border-bottom:1px solid var(--color-border)}}.container--reading{max-width:var(--measure)}.content blockquote{margin:1.5em 0;padding:.5em 1em;border-left:4px solid var(--color-border);color:var(--color-muted)}.content :not(pre)>code{font-family:var(--font-code);font-size:.9em;background:var(--color-bg-inline-code);border-radius:var(--radius-sm);padding:.1em .35em}.placeholder{border:1px dashed #c96;border-radius:var(--radius-md);background:#fffaf3;color:#8a5a20;padding:1rem 1.25rem;font-size:.9rem;line-height:1.7}.placeholder::before{content:"TODO ";font-family:var(--font-tag);font-weight:700}.reading-info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.75rem 0 2rem;font-family:var(--font-tag);font-size:var(--fs-meta);color:var(--color-meta)}.reading-info__sep{opacity:.5}.reading-info__dev{font-weight:700;font-size:.65rem;letter-spacing:.08em;color:var(--color-inverse);background:var(--color-muted);border-radius:var(--radius-sm);padding:.1rem .35rem}.contact-form{margin:2rem 0}.contact-form__field{margin-bottom:1.4rem}.contact-form__field label{display:block;margin-bottom:.4rem;font-weight:700;color:var(--color-heading)}.contact-form__required{margin-left:.4rem;font-size:.8em;font-weight:400;color:var(--color-inverse);background:var(--color-accent);border-radius:var(--radius-sm);padding:.1rem .4rem}.contact-form__note{margin:.35rem 0 0;font-size:.85em;color:var(--color-muted)}.contact-form input[type=text],.contact-form input[type=email],.contact-form select,.contact-form textarea{width:100%;padding:.6rem .7rem;font-family:var(--font-body);font-size:1rem;color:var(--color-body);background:var(--color-inverse);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.contact-form textarea{min-height:12rem;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.contact-form button{font-family:var(--font-body);cursor:pointer}.contact-form__honeypot{position:absolute;left:-9999px}.dev-badge{color:var(--color-inverse);background:var(--color-muted);border-radius:var(--radius-sm);padding:.1rem .35rem;margin-right:.5rem;font-family:var(--font-tag);font-size:.8em}.dev-note{margin:1.5rem 0;padding:.8rem 1rem;font-size:.9rem;color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.5rem 0 2rem}.shot{margin:0}.shot__img,.shot__empty{display:block;width:100%;aspect-ratio:9/19.5;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.shot__img{object-fit:cover}.shot__empty{display:flex;align-items:center;justify-content:center;padding:.75rem;text-align:center;font-size:var(--fs-meta);line-height:1.6;color:var(--color-muted);background:var(--color-surface);border-style:dashed}.shot__caption{margin-top:.4rem;font-size:var(--fs-meta);line-height:1.5;color:var(--color-muted)}.shot__link{display:block;border-radius:var(--radius-lg);cursor:zoom-in}.shot__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.shot-zoom{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:3.5rem 1rem 1rem;border:0;background:0 0}.shot-zoom[open]{display:flex;align-items:center;justify-content:center}.shot-zoom::backdrop{background:rgb(0 0 0/.85)}.shot-zoom__figure{position:relative;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;margin:0}.shot-zoom__img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 9rem);border-radius:var(--radius-lg);background:var(--color-surface)}.shot-zoom__caption{max-width:36rem;margin-top:.75rem;font-size:var(--fs-meta);line-height:1.6;color:var(--color-inverse)}.shot-zoom__close{position:absolute;top:-3.25rem;right:0;width:2.75rem;height:2.75rem;border:0;border-radius:50%;font-size:1.25rem;line-height:1;color:var(--color-inverse);background:rgb(255 255 255/.15);cursor:pointer}.shot-zoom__close:focus-visible{outline:2px solid var(--color-inverse);outline-offset:2px}html:has(.shot-zoom[open]){overflow:hidden}@media(max-width:640px){.shots{display:flex;gap:.75rem;margin-inline:-1rem;padding-inline:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1rem}.shot{flex:0 0 min(46vw,11rem);scroll-snap-align:start}}.contact-confirm{margin:2rem 0;padding:1.2rem 1.4rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.contact-confirm:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-confirm__title{margin-top:0}.contact-confirm__message{white-space:pre-wrap;word-break:break-word}.contact-confirm__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:0}.site-signature{margin-top:2.5rem;font-family:var(--font-accent);font-size:.95rem;font-weight:var(--weight-brand);letter-spacing:.06em;color:var(--color-muted)}.note-list{list-style:none;margin:0;padding:0}.note-list__item+.note-list__item{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--color-border)}.note-list__link{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;text-decoration:none;color:inherit}.note-list__link:hover .note-list__title{color:var(--color-accent)}.note-list__date{flex:none;font-family:var(--font-date);font-size:var(--fs-meta);color:var(--color-meta);font-feature-settings:"tnum" 1}.note-list__title{font-family:var(--font-h3);font-size:1.15rem;font-weight:700;color:var(--color-heading)}.note-list__summary{margin:.3rem 0 0;font-size:var(--fs-card-text);color:var(--color-muted)}.note-list__empty{color:var(--color-muted)}.note-more{margin-top:1.8rem}.note-meta{margin:-.5rem 0 1.5rem;font-family:var(--font-date);font-size:var(--fs-meta);color:var(--color-meta)}.note-back{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:var(--fs-card-text)}.search-note{margin:1.5rem 0;padding:.8rem 1rem;font-size:var(--fs-card-text);color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.profile-facts{display:grid;grid-template-columns:minmax(7rem,max-content)1fr;gap:0;margin:1.8rem 0}.profile-facts dt,.profile-facts dd{margin:0;padding:.75rem 0;border-top:1px solid var(--color-border)}.profile-facts dt{font-size:var(--fs-meta);font-weight:500;color:var(--color-meta);padding-right:1.5rem}.profile-facts dd{font-size:var(--fs-card-text);color:var(--color-body)}@media(max-width:32rem){.profile-facts{display:block}.profile-facts dd{border-top:0;padding-top:.15rem}}.profile-facts__aside{font-size:var(--fs-meta);color:var(--color-meta)}.site-title.site-brand,.site-brand{font-family:var(--font-brand);font-weight:var(--weight-brand);font-size:var(--fs-brand);letter-spacing:var(--ls-brand)}h1.section-title.product-logo,.card h3.product-logo,.site-nav a.product-logo,.product-logo{font-family:var(--font-logo);font-weight:var(--weight-logo);font-size:var(--fs-logo);letter-spacing:var(--ls-logo)}h1.section-title.product-logo{font-size:var(--fs-h1)}.stat-figure{font-family:var(--font-num);font-weight:600;font-feature-settings:"tnum" 1;letter-spacing:.01em}.tabular{font-feature-settings:"tnum" 1}.content h2,.content h3,.content h4,.content h5{font-family:var(--font-heading);color:var(--color-heading);line-height:var(--lh-heading)}.content h2{font-family:var(--font-h2);font-size:var(--fs-h2);font-weight:var(--fw-h2);color:var(--color-h2)}.content h3{font-family:var(--font-h3);font-size:var(--fs-h3);font-weight:var(--fw-h3);color:var(--color-h3)}.content h4{font-family:var(--font-h4);font-size:var(--fs-h4);font-weight:var(--fw-h4);color:var(--color-h4)}.content h5{font-family:var(--font-h5);font-size:var(--fs-h5);font-weight:var(--fw-h5);color:var(--color-h5)}.content h2{margin:3.5rem 0 1rem}.content h3{margin:2.6rem 0 .8rem}.content h4{margin:2rem 0 .6rem}.content h5{margin:1.6rem 0 .4rem}.content h2+p,.content h3+p,.content h4+p,.content h5+p{margin-top:0}[data-numbering=hier] .content{counter-reset:h2num}[data-numbering=hier] .content h2{counter-reset:h3num}[data-numbering=hier] .content h3{counter-reset:h4num}[data-numbering=hier] .content h2::before{counter-increment:h2num;content:counter(h2num)". "}[data-numbering=hier] .content h3::before{counter-increment:h3num;content:counter(h2num)"." counter(h3num)" "}[data-numbering=hier] .content h4::before{counter-increment:h4num;content:counter(h2num)"." counter(h3num)"." counter(h4num)" "}[data-numbering=chapter] .content{counter-reset:h2num}[data-numbering=chapter] .content h2::before{counter-increment:h2num;content:counter(h2num,decimal-leading-zero)" "}[data-heading=current] .content h2,[data-heading=current] .content h3,[data-heading=current] .content h4{font-weight:300;border-bottom:solid 1px var(--color-heading);border-left:solid 6px var(--color-heading);padding-left:8px;background:var(--color-bg-h2)}[data-heading=current] .content h2::before,[data-heading=current] .content h3::before,[data-heading=current] .content h4::before{color:var(--color-muted);font-family:var(--font-date)}[data-heading=rule] .content h2{font-weight:400;letter-spacing:.08em;border-bottom:1px solid var(--color-heading-border);padding-bottom:.4em}[data-heading=rule] .content h3{font-weight:700;letter-spacing:.04em}[data-heading=rule] .content h4{font-weight:700;color:var(--color-body)}[data-heading=rule] .content h2::before,[data-heading=rule] .content h3::before,[data-heading=rule] .content h4::before{color:var(--color-muted);font-family:var(--font-date);font-weight:400}[data-heading=number] .content h2,[data-heading=number] .content h3,[data-heading=number] .content h4{position:relative;padding-left:3.4rem;font-weight:700}[data-heading=number] .content h2::before,[data-heading=number] .content h3::before,[data-heading=number] .content h4::before{position:absolute;left:0;top:-.15em;font-family:var(--font-date);font-weight:400;color:var(--color-accent);opacity:.75}[data-heading=number] .content h2::before{font-size:2.1rem}[data-heading=number] .content h3::before{font-size:1.4rem;top:.1em}[data-heading=number] .content h4::before{font-size:1.05rem;top:.15em}[data-heading=number][data-numbering=none] .content h2,[data-heading=number][data-numbering=none] .content h3,[data-heading=number][data-numbering=none] .content h4{padding-left:0}[data-heading=minimal] .content h2{font-weight:700;font-size:1.5rem;margin-top:3.2em;letter-spacing:.02em}[data-heading=minimal] .content h3{font-weight:700;font-size:1.15rem;color:var(--color-body);margin-top:2.4em}[data-heading=minimal] .content h4{font-weight:700;font-size:1rem;color:var(--color-muted);letter-spacing:.06em}[data-heading=minimal] .content h2::before,[data-heading=minimal] .content h3::before,[data-heading=minimal] .content h4::before{color:var(--color-muted);font-weight:400}[data-heading=serif] .content h2,[data-heading=serif] .content h3,[data-heading=serif] .content h4,[data-heading=serif] .content h5{font-family:zen old mincho,shippori mincho,serif;font-weight:700}[data-heading=serif] .content h2{border-bottom:1px solid var(--color-heading-border);padding-bottom:.3em;letter-spacing:.04em}[data-heading=serif] .content h2::before,[data-heading=serif] .content h3::before,[data-heading=serif] .content h4::before{font-family:var(--font-date);font-weight:400;color:var(--color-muted)}[data-heading=mincho] .content,[data-heading=mincho] .content p,[data-heading=mincho] .content li{font-family:shippori mincho,zen old mincho,serif;font-weight:400}[data-heading=mincho] .content h2,[data-heading=mincho] .content h3,[data-heading=mincho] .content h4,[data-heading=mincho] .content h5{font-family:zen old mincho,shippori mincho,serif;font-weight:700}[data-heading=mincho] .content h2{border-bottom:1px solid var(--color-heading-border);padding-bottom:.3em;letter-spacing:.04em}[data-heading=mincho] .content h2::before,[data-heading=mincho] .content h3::before,[data-heading=mincho] .content h4::before{font-family:var(--font-date);font-weight:400;color:var(--color-muted)}[data-heading=mincho] .content pre,[data-heading=mincho] .content code{font-family:var(--font-code)}[data-list=hier] .content ol{counter-reset:listitem;list-style:none;padding-left:2.4em}[data-list=hier] .content ol>li{counter-increment:listitem;position:relative}[data-list=hier] .content ol>li::before{content:counters(listitem,".")".";position:absolute;left:-2.4em;width:2.1em;text-align:right;font-family:var(--font-date);color:var(--color-muted)}[data-para=numbered] .content{counter-reset:para;padding-left:2.6em}[data-para=numbered] .content>p{counter-increment:para;position:relative}[data-para=numbered] .content>p::before{content:counter(para);position:absolute;left:-2.6em;top:.35em;width:2em;text-align:right;font-family:var(--font-tag);font-size:.7rem;color:var(--color-muted);opacity:.7}[data-heading=ladder] .content h2{font-weight:300;border-bottom:solid 1px var(--color-heading);border-left:solid 6px var(--color-heading);padding-left:10px;background:var(--color-bg-h2)}[data-heading=ladder] .content h3{font-weight:400;border-left:solid 3px var(--color-heading);padding-left:10px}[data-heading=ladder] .content h4{font-weight:700;border-left:solid 2px var(--color-heading-border);padding-left:10px;color:var(--color-body)}[data-heading=ladder] .content h2::before,[data-heading=ladder] .content h3::before,[data-heading=ladder] .content h4::before{color:var(--color-muted);font-family:var(--font-date)}[data-heading=bracket] .content h2{position:relative;font-weight:300;border-left:solid 3px var(--color-heading);background:var(--color-bg-h2);padding:.35em .6em .3em .7em}[data-heading=bracket] .content h2::after{content:"";position:absolute;top:0;left:-3px;width:1.6em;border-top:solid 3px var(--color-heading)}[data-heading=bracket] .content h3{font-weight:400;border-left:solid 3px var(--color-heading);padding-left:.7em}[data-heading=bracket] .content h4{font-weight:700;color:var(--color-body);width:fit-content;border-bottom:solid 2px var(--color-heading-border);padding-bottom:.15em}[data-heading=bracket] .content h5{font-weight:700;color:var(--color-muted);letter-spacing:.04em}[data-heading=bracket] .content h2::before{color:var(--color-heading);font-family:var(--font-date);font-weight:400;opacity:.65}[data-heading=bracket] .content h3::before,[data-heading=bracket] .content h4::before{color:var(--color-muted);font-family:var(--font-date);font-weight:400}[data-heading=bracket-soft] .content h2{position:relative;font-weight:300;border-left:solid 3px var(--color-muted);padding:.1em 0 .3em .7em}[data-heading=bracket-soft] .content h2::after{content:"";position:absolute;top:0;left:-3px;width:1.6em;border-top:solid 3px var(--color-muted)}[data-heading=bracket-soft] .content h3{font-weight:400;border-left:solid 2px var(--color-muted);padding-left:.7em}[data-heading=bracket-soft] .content h4{font-weight:700;color:var(--color-body);width:fit-content;border-bottom:solid 2px var(--color-heading-border);padding-bottom:.15em}[data-heading=bracket-soft] .content h5{font-weight:700;color:var(--color-muted);letter-spacing:.04em}[data-heading=bracket-soft] .content h2::before,[data-heading=bracket-soft] .content h3::before,[data-heading=bracket-soft] .content h4::before{color:var(--color-muted);font-family:var(--font-date);font-weight:400}[data-heading=tab] .content h2{font-weight:400;border-bottom:solid 1px var(--color-heading-border);padding-bottom:.3em}[data-heading=tab] .content h3,[data-heading=tab] .content h4{font-weight:700}[data-heading=tab] .content h4{color:var(--color-body)}[data-heading=tab] .content h2::before{display:inline-block;margin-right:.6em;padding:.05em .5em;background:var(--color-heading);color:var(--color-inverse);border-radius:var(--radius-sm);font-family:var(--font-date);font-size:.75em;vertical-align:.12em}[data-heading=tab] .content h3::before{display:inline-block;margin-right:.6em;padding:.05em .5em;border:1px solid var(--color-heading-border);border-radius:var(--radius-sm);color:var(--color-muted);font-family:var(--font-date);font-size:.75em;vertical-align:.12em}[data-heading=tab] .content h4::before{margin-right:.5em;color:var(--color-muted);font-family:var(--font-date);font-weight:400}[data-heading=tab][data-numbering=none] .content h2::before,[data-heading=tab][data-numbering=none] .content h3::before{display:none}[data-heading=rail] .content h2{font-weight:300;border-left:6px double var(--color-heading);padding-left:10px}[data-heading=rail] .content h3{font-weight:400;border-left:2px solid var(--color-heading);padding-left:10px}[data-heading=rail] .content h4{font-weight:700;border-left:2px dotted var(--color-muted);padding-left:10px;color:var(--color-body)}[data-heading=rail] .content h2::before,[data-heading=rail] .content h3::before,[data-heading=rail] .content h4::before{color:var(--color-muted);font-family:var(--font-date)}.callout{--callout-color:var(--color-note);margin:1.6em 0;padding:.9em 1.1em;border-left:3px solid var(--callout-color);border-radius:0 var(--radius-md)var(--radius-md)0;background:color-mix(in srgb,var(--callout-color) 8%,var(--color-inverse))}.callout--info{--callout-color:var(--color-info)}.callout--success{--callout-color:var(--color-success)}.callout--warning{--callout-color:var(--color-warning)}.callout--note{--callout-color:var(--color-note)}.callout__label{margin:0 0 .4em;font-family:var(--font-tag);font-size:.75em;font-weight:700;letter-spacing:.08em;color:var(--callout-color)}.callout__body>:first-child{margin-top:0}.callout__body>:last-child{margin-bottom:0}.disclosure{margin:1.6em 0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-inverse)}.disclosure__summary{padding:.7em 1em;font-family:var(--font-heading);font-weight:700;color:var(--color-heading);cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:.6em}.disclosure__summary::-webkit-details-marker{display:none}.disclosure__summary::before{content:"+";font-family:var(--font-tag);font-weight:400;color:var(--color-muted)}.disclosure[open]>.disclosure__summary::before{content:"\2212"}.disclosure__summary:hover{color:var(--color-accent)}.disclosure__summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.disclosure__body{padding:0 1em .9em;border-top:1px solid var(--color-border);padding-top:.9em}.disclosure__body>:first-child{margin-top:0}.disclosure__body>:last-child{margin-bottom:0}.bg{color:#c8d3f5;background-color:#222436}.chroma{color:#c8d3f5;background-color:#222436;-webkit-text-size-adjust:none}.chroma .x{color:#c8d3f5}.chroma .err{color:#c53b53}.chroma .cl{color:#c8d3f5}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#444a73}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#828bb8}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#828bb8}.chroma .line{display:flex}.chroma .k{color:#c099ff}.chroma .kc{color:#ffc777}.chroma .kd{color:#c099ff}.chroma .kn{color:#86e1fc}.chroma .kp{color:#c099ff}.chroma .kr{color:#c099ff}.chroma .kt{color:#4fd6be}.chroma .na{color:#82aaff}.chroma .nc{color:#ff966c}.chroma .no{color:#ff966c}.chroma .nd{color:#82aaff;font-weight:700}.chroma .ni{color:#86e1fc}.chroma .ne{color:#ffc777}.chroma .nl{color:#c3e88d}.chroma .nn{color:#ffc777}.chroma .nx{color:#c8d3f5}.chroma .py{color:#ffc777}.chroma .nt{color:#c099ff}.chroma .nb{color:#c3e88d}.chroma .bp{color:#c3e88d}.chroma .vc{color:#c8d3f5}.chroma .vg{color:#c8d3f5}.chroma .vi{color:#c8d3f5}.chroma .vm{color:#c8d3f5}.chroma .nf{color:#82aaff}.chroma .fm{color:#82aaff}.chroma .ld{color:#c8d3f5}.chroma .s{color:#c3e88d}.chroma .sa{color:#c099ff}.chroma .sb{color:#c3e88d}.chroma .sc{color:#c3e88d}.chroma .dl{color:#82aaff}.chroma .sd{color:#444a73}.chroma .s2{color:#c3e88d}.chroma .se{color:#82aaff}.chroma .sh{color:#444a73}.chroma .si{color:#c3e88d}.chroma .sx{color:#c3e88d}.chroma .sr{color:#86e1fc}.chroma .s1{color:#c3e88d}.chroma .ss{color:#c3e88d}.chroma .m{color:#ffc777}.chroma .mb{color:#ffc777}.chroma .mf{color:#ffc777}.chroma .mh{color:#ffc777}.chroma .mi{color:#ffc777}.chroma .il{color:#ffc777}.chroma .mo{color:#ffc777}.chroma .o{color:#c3e88d;font-weight:700}.chroma .ow{color:#c3e88d;font-weight:700}.chroma .or{color:#c3e88d;font-weight:700}.chroma .c{color:#444a73;font-style:italic}.chroma .ch{color:#444a73;font-style:italic}.chroma .cm{color:#444a73;font-style:italic}.chroma .c1{color:#444a73;font-style:italic}.chroma .cs{color:#444a73;font-style:italic}.chroma .cp{color:#444a73;font-style:italic}.chroma .cpf{color:#444a73;font-weight:700;font-style:italic}.chroma .gd{color:#c53b53;background-color:#1b1d2b}.chroma .ge{font-style:italic}.chroma .gr{color:#c53b53}.chroma .gh{color:#ffc777;font-weight:700}.chroma .gi{color:#c3e88d;background-color:#1b1d2b}.chroma .go{color:#c8d3f5}.chroma .gp{color:#c8d3f5}.chroma .gs{font-weight:700}.chroma .gu{color:#ffc777;font-weight:700}.chroma .gt{color:#c53b53}.chroma .gl{text-decoration:underline}.chroma{background-color:var(--color-code-bg)}.chroma .hl{background-color:var(--color-code-hl-bg)}.highlight-wrapper{position:relative;margin:1.5rem 0}.highlight{position:relative;z-index:0;padding:0;margin:0;border-radius:var(--radius-sm)}.highlight>.chroma{position:static;z-index:1;border-radius:var(--radius-sm);padding:1.75rem .75rem .75rem;overflow:auto;font-family:var(--font-code);font-size:var(--font-code-size);line-height:1.6}.chroma .lntable{display:table;width:100%;padding:0;margin:0;border-spacing:0;border:0;overflow:auto}.chroma .lntd:first-child{width:1%;padding:0 .75rem 0 0;margin:0;border-right:1px solid rgba(200,211,245,.15)}.chroma .lntd:last-child{padding:0 0 0 .75rem;margin:0}.code-name{position:absolute;z-index:2;left:0;top:0;font-family:var(--font-tag);font-size:.75rem;font-weight:400;line-height:1;color:#c8d3f5;background-color:rgba(200,211,245,.12);border-bottom-right-radius:var(--radius-sm);border-top-left-radius:var(--radius-sm);white-space:nowrap;padding:.4rem .7rem;margin:0}.copy-code-button{position:absolute;z-index:2;right:0;top:0;font-family:var(--font-tag);font-size:.7rem;font-weight:400;line-height:1;color:#c8d3f5;background-color:rgba(200,211,245,.12);border:0;border-top-right-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm);white-space:nowrap;padding:.4rem .7rem;cursor:pointer;opacity:.7;transition:opacity .15s ease,background-color .15s ease}.copy-code-button:hover,.copy-code-button:focus-visible{opacity:1;background-color:rgba(200,211,245,.22)}.chroma,.chroma .cl,.chroma .x,.chroma .nx,.chroma .go,.chroma .gp,.chroma .ld,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:var(--color-code-fg)}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm,.chroma .cp,.chroma .cpf,.chroma .cs,.chroma .sd,.chroma .sh{color:var(--color-code-comment)}.chroma .err,.chroma .gd,.chroma .gr,.chroma .gt{color:var(--color-code-error)}.chroma .ln,.chroma .lnt{color:var(--color-code-lineno)}