:root{--ground:#d2cdb5;--panel:#dcd8c0b3;--tab:#c9c3aa;--tab-hover:#c4bea4;--ink:#4a4740;--ink-deep:#2b2923;--shadow:#b0aa8f;--alert:#8e3a2a;--on-alert:#f3eedc;--code-bg:#34322b;--mono:"IBM Plex Mono", monospace;--sans:"Zen Kaku Gothic New", sans-serif}*{box-sizing:border-box}body{background-color:var(--ground);min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:repeating-linear-gradient(0deg,#4a47400d 0 1px,#0000 1px 4px),radial-gradient(#b9b39a 1px,#0000 1px);background-size:auto,24px 24px;flex-direction:column;margin:0;display:flex}a{color:var(--ink)}a:hover{color:var(--ink-deep)}:focus-visible{outline:2px solid var(--alert);outline-offset:2px}.mono{font-family:var(--mono)}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.site-header{flex-direction:column;gap:14px;padding:24px 32px 0;display:flex}.site-header .top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.logo{letter-spacing:.3em;font-size:40px;font-weight:300;line-height:1;text-decoration:none}.sys{font-family:var(--mono);letter-spacing:.16em;font-size:12px}.double-rule{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);height:3px}.tabs{font-family:var(--mono);letter-spacing:.16em;flex-wrap:wrap;gap:10px;padding-bottom:8px;font-size:14px;display:flex}.tab,.item{background:var(--tab);min-height:44px;color:var(--ink);align-items:center;gap:12px;padding:0 22px 0 14px;text-decoration:none;display:flex}.tab:before,.item:before{content:"";background:var(--ink);flex-shrink:0;width:10px;height:10px}.item:before{border:1px solid var(--ink);background:0 0}.tab:hover,.item:hover{background:var(--tab-hover);color:var(--ink)}.tab[aria-current=page],.item.is-sel,.item[aria-current=true]{background:var(--ink);color:var(--ground);box-shadow:5px 5px 0 var(--shadow)}.tab[aria-current=page]:before,.item.is-sel:before,.item[aria-current=true]:before{background:var(--ground);border-color:var(--ground)}.item{flex-wrap:wrap;min-height:52px;padding-block:8px}.item .title{flex:320px;font-size:17px;font-weight:500}.item .meta{font-family:var(--mono);letter-spacing:.1em;font-size:12px}.panel{border:1px solid var(--ink);background:var(--panel)}.panel-head{background:var(--ink);color:var(--ground);font-family:var(--mono);letter-spacing:.2em;justify-content:space-between;gap:12px;padding:8px 14px;font-size:12px;display:flex}.brk{position:relative}.brk:before,.brk:after{content:"";border:1px solid var(--ink);pointer-events:none;width:14px;height:14px;position:absolute}.brk:before{border-bottom:0;border-right:0;top:-6px;left:-6px}.brk:after{border-top:0;border-left:0;bottom:-6px;right:-6px}.chip{background:var(--tab);font-family:var(--mono);letter-spacing:.08em;padding:3px 8px;font-size:12px}.chips{flex-wrap:wrap;gap:6px;display:flex}.hatch{background:repeating-linear-gradient(135deg, var(--tab) 0 6px, var(--ground) 6px 12px)}main{flex-direction:column;flex-grow:1;gap:88px;width:100%;max-width:1180px;margin:0 auto;padding:56px 32px 96px;display:flex}.section{flex-direction:column;gap:20px;display:flex}.section-head{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.section-head h2,.section-head h1{letter-spacing:.24em;margin:0;font-size:32px;font-weight:300}.section-head .jp{padding-bottom:4px;font-size:13px}.section-head .rule{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex:80px;height:3px;margin-bottom:8px}.section-head a{font-family:var(--mono);letter-spacing:.1em;align-items:center;min-height:44px;font-size:13px;display:flex}.list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hints{font-family:var(--mono);letter-spacing:.08em;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px;padding:12px 32px;font-size:12px;display:flex}.hints span{align-items:center;gap:6px;display:flex}kbd{font-family:var(--mono);border:1px solid var(--ink);padding:1px 6px;font-size:12px}.statusline{background:var(--ink);color:var(--ground);font-family:var(--mono);flex-wrap:wrap;font-size:13px;display:flex}.statusline>span{padding:6px 14px}.statusline .mode{background:var(--alert);color:var(--on-alert);letter-spacing:.1em;font-weight:500}.statusline .grow{flex-grow:1;padding:0}.statusline .sep{border-left:1px solid #6b665a}.cmdline{background:var(--ink-deep);color:var(--ground);font-family:var(--mono);min-height:20px;padding:6px 14px;font-size:13px}.cursor{background:var(--ground);vertical-align:-3px;width:9px;height:16px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}#search{border:1px solid var(--ink);background:var(--ground);width:min(720px,100% - 32px);color:var(--ink);margin:96px auto auto;padding:0;overflow:visible;box-shadow:10px 10px #2b292359}#search::backdrop{background:#4a474099}#search .brk:before,#search .brk:after{border-color:var(--ground);top:-8px;left:-8px}#search .brk:after{inset:auto -8px -8px auto}#search .query{flex-direction:column;gap:6px;padding:18px 16px 10px;display:flex}#search .query label{font-family:var(--mono);letter-spacing:.2em;font-size:11px}#search .field{border-bottom:2px solid var(--ink);font-family:var(--mono);align-items:center;font-size:22px;display:flex}#search .field span{padding:0 8px 0 2px}#search input::-webkit-search-cancel-button{display:none}#search input{min-width:0;min-height:48px;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex-grow:1}#search .list{max-height:50vh;padding:10px 16px 18px;overflow-y:auto}#search .empty{font-family:var(--mono);letter-spacing:.16em;border:1px dashed var(--ink);padding:12px;font-size:12px}#search .hints{border-top:1px solid var(--ink);padding:10px 16px}mark{background:var(--alert);color:var(--on-alert);padding:0 2px}.is-sel mark{background:var(--ground);color:var(--ink)}.doc-head{flex-direction:column;display:flex}.doc-head .label{align-self:flex-start}.doc-head .body{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);flex-direction:column;gap:14px;padding:24px 0;display:flex}.doc-head h1{letter-spacing:.04em;margin:0;font-size:clamp(28px,4vw,40px);font-weight:400;line-height:1.5}.doc{flex-wrap:wrap-reverse;align-items:flex-end;gap:48px;display:flex}.doc>article{flex:999 560px;min-width:0}.doc>aside{flex:260px;min-width:0}@media (width>=900px){.doc>aside{position:sticky;top:24px}}.toc{flex-direction:column;gap:6px;padding:10px;font-size:14px;display:flex}.toc .item{flex-wrap:nowrap;min-height:44px;padding:8px 12px;line-height:1.5}.toc .item:before{width:8px;height:8px}.progress{border-top:1px dashed var(--ink);font-family:var(--mono);letter-spacing:.1em;flex-direction:column;gap:8px;padding:12px 14px;font-size:12px;display:flex}.progress .bar{border:1px solid var(--ink);height:10px;padding:1px}.progress .bar span{background:var(--ink);width:0;height:100%;display:block}.pager{flex-wrap:wrap;gap:14px;margin-top:56px;display:flex}.pager a{background:var(--tab);font-family:var(--mono);letter-spacing:.14em;flex-direction:column;flex:240px;gap:6px;padding:14px 16px;font-size:12px;text-decoration:none;display:flex}.pager a:hover{background:var(--tab-hover)}.pager a span+span{font-family:var(--sans);letter-spacing:.02em;font-size:15px}.pager .next{text-align:right}.prose{flex-direction:column;gap:22px;font-size:16px;line-height:2;display:flex}.prose>*{margin:0}.prose h2{align-items:center;gap:14px;margin-top:24px;scroll-margin-top:24px;font-size:22px;font-weight:500;line-height:1.6;display:flex}.prose h2:before{content:"";background:var(--ink);flex-shrink:0;width:12px;height:12px}.prose h3{align-items:center;gap:12px;margin-top:8px;font-size:18px;font-weight:500;display:flex}.prose h3:before{content:"";border:1px solid var(--ink);flex-shrink:0;width:8px;height:8px}.prose :not(pre)>code{font-family:var(--mono);background:var(--tab);padding:1px 6px;font-size:.9em}.prose a[href^=http]:not(.gh-card):not([href^="https://2424013.xyz"]):after{content:"↗" / "(外部リンク)"}.prose img,.prose video{border:1px solid var(--ink);max-width:100%;height:auto;margin-inline:auto;display:block}.prose ul,.prose ol{padding-left:1.5em}.prose blockquote{border-left:3px solid var(--ink);background:var(--panel);padding:14px 18px;font-size:15px;line-height:1.9}.prose blockquote>*{margin:0}.prose blockquote>*+*{margin-top:10px}.prose .alert{border:1px solid var(--ink);background:var(--panel)}.prose .alert:before{content:"▲ " attr(data-alert);background:var(--ink);color:var(--ground);font-family:var(--mono);letter-spacing:.2em;padding:6px 14px;font-size:12px;line-height:1.6;display:block}.prose .alert:is([data-alert=IMPORTANT],[data-alert=WARNING],[data-alert=CAUTION]):before{background:var(--alert);color:var(--on-alert)}.prose .alert>*{margin:0;padding:14px 18px;font-size:15px;line-height:1.9}.prose .alert>*+*{padding-top:0}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--ink);text-align:left;padding:8px 14px}.prose th{background:var(--ink);color:var(--ground);font-weight:500}.prose hr{border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);height:3px}.prose pre.mermaid{border:1px solid var(--ink);background:var(--panel);color:var(--ink);font-family:var(--mono);text-align:center;padding:16px;font-size:13px;overflow-x:auto}.code{border:1px solid var(--ink);background:var(--code-bg);margin:0}.code figcaption{font-family:var(--mono);letter-spacing:.1em;border-bottom:1px solid var(--ink);align-items:stretch;font-size:12px;line-height:1.6;display:flex}.code-title{background:var(--ground);align-items:center;gap:10px;padding:8px 14px;display:flex}.code-title:before{content:"";background:var(--ink);width:8px;height:8px}.code-title:empty{display:none}.code-lang{color:#b5ae96;margin-left:auto;padding:8px 12px}.code button{min-height:36px;color:var(--ground);font:inherit;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;border-left:1px solid #5a564a;padding:0 14px}.code button:hover{background:#4a4740}.code pre{font-family:var(--mono);counter-reset:line;margin:0;padding:16px 0;font-size:14px;line-height:1.8;overflow-x:auto}.code pre .line:before{counter-increment:line;content:counter(line);text-align:right;color:#8a846f;width:44px;padding-right:16px;display:inline-block}.katex-display{border:1px solid var(--ink);background:var(--panel);margin:0;padding:22px 16px;overflow-x:auto}.katex{font-size:1.1em}@media (width<=640px){.site-header,.hints{padding-inline:16px}main{gap:64px;padding:40px 16px 72px}.logo{font-size:30px}}.prose .gh-card{border:1px solid var(--ink);background:var(--panel);max-width:100%;text-decoration:none;display:block}.prose .gh-card img{border:0;width:100%;height:auto;display:block}.prose .gh-card-url{font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;padding:8px 14px;font-size:12px;line-height:1.6;display:block}#boot[data-astro-cid-iteca3dn]{display:none}#boot[data-astro-cid-iteca3dn].on{z-index:100;color:#d2cdb5;font-family:var(--mono);background:#2b2923;justify-content:center;align-items:center;animation:.45s steps(6,end) 2.15s forwards boot-out;display:flex;position:fixed;inset:0;overflow:hidden}.noise[data-astro-cid-iteca3dn]{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.82 0 0 0 0 0.8 0 0 0 0 0.71 0 0 0 1.4 -0.45'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.24s steps(4,end) infinite noise,2.2s ease-in forwards noise-fade;position:absolute;inset:-50%}#boot[data-astro-cid-iteca3dn].on:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000040 0 1px,#0000 1px 3px);position:absolute;inset:0}#boot[data-astro-cid-iteca3dn].on:after{content:"";pointer-events:none;background:linear-gradient(#0000,#d2cdb514,#0000);height:18vh;animation:1.6s linear infinite sweep;position:absolute;left:0;right:0}.glitch[data-astro-cid-iteca3dn]{background:#d2cdb580;height:6px;animation:.9s step-end infinite glitch;position:absolute;left:0;right:0}.log[data-astro-cid-iteca3dn]{letter-spacing:.06em;width:min(560px,100% - 32px);font-size:14px;line-height:2;animation:2.2s step-end flicker;position:relative}.log[data-astro-cid-iteca3dn] p[data-astro-cid-iteca3dn]{white-space:pre;opacity:0;margin:0;animation:10ms forwards line-in}.log[data-astro-cid-iteca3dn] .head[data-astro-cid-iteca3dn]{opacity:1;letter-spacing:.2em;border-bottom:1px solid #6b665a;margin-bottom:10px;animation:none}.log[data-astro-cid-iteca3dn] .WARN[data-astro-cid-iteca3dn]{color:#e3a784}.bar[data-astro-cid-iteca3dn]{border:1px solid #d2cdb5;height:10px;margin-top:14px;padding:1px}.bar[data-astro-cid-iteca3dn] span[data-astro-cid-iteca3dn]{background:#d2cdb5;width:0;height:100%;animation:1.6s steps(16,end) .25s forwards fill;display:block}@keyframes noise{0%{transform:translate(0)}25%{transform:translate(-7%,4%)}50%{transform:translate(5%,-6%)}75%{transform:translate(-3%,-9%)}}@keyframes noise-fade{0%{opacity:.6}to{opacity:.18}}@keyframes sweep{0%{top:-18vh}to{top:100vh}}@keyframes glitch{0%{height:4px;top:22%}20%{height:10px;top:61%}40%{height:2px;top:9%}60%{height:7px;top:83%}80%{opacity:0;height:3px;top:47%}}@keyframes flicker{0%,6%,9%,92%,95%{opacity:1}5%,8%,94%{opacity:.3}}@keyframes line-in{to{opacity:1}}@keyframes fill{to{width:100%}}@keyframes boot-out{0%{opacity:1;clip-path:inset(0)}50%{opacity:1;clip-path:inset(45% 0)}to{opacity:0;clip-path:inset(50% 0);visibility:hidden}}
