.article{--a-fg:#1c1d20;--a-dim:#6a6a62;--a-faint:#8d8d84;--a-line:#eaeae7;--a-well:#f1f1ec;--a-accent:#4b7be5;--a-link:#3a62c4;--a-link-hover:#2d4f9e;--a-soft:#ecf2ff;--a-card:#ffffff;--a-body:#464540;--a-warn:#cc2936;--a-radius:10px}.article-page{max-width:800px;margin:0 auto;padding:32px 32px 80px;color:#464540;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}@media (max-width:600px){.article-page{padding:24px 24px 60px;font-size:16px}}.article ul{list-style:disc}.article ol{list-style:decimal}.article button{font:revert;color:revert}.article h1,.article h2,.article h3,.article h4{color:var(--a-fg);font-weight:500;letter-spacing:-.02em;text-wrap:pretty}.article h1{font-size:42px;line-height:1.2;margin:0}.article h2{font-size:28px;line-height:1.25;margin:1.9em 0 .5em;padding-top:.7em;border-top:1px solid var(--a-line)}.article h3{font-size:24px;line-height:1.3;margin:1.7em 0 .5em}.article h4{font-size:19px;line-height:1.35;margin:1.4em 0 .4em}.article p{margin:0 0 16px}.article ol,.article ul{padding-left:1.25em;margin:0 0 16px}.article li{margin-bottom:.45em}.article b,.article strong{font-weight:600;color:#2b2c2f}.article q{quotes:"\201C" "\201D";font-style:italic}.article a{color:var(--a-link);font-weight:600;text-decoration:none}.article a:hover{text-decoration:underline}.article .trap{color:var(--a-warn);font-weight:600}.article [lang=ja]{font-family:Neutral Sans Medium,Hiragino Sans,Noto Sans JP,Arial,Helvetica,sans-serif}@media (max-width:600px){.article h1{font-size:30px}.article h2{font-size:23px}.article h3{font-size:20px}.article h4{font-size:19px}}.article .post-head{margin:0 0 48px;padding-bottom:32px;border-bottom:1px solid var(--a-line)}.article .post-by,.article .post-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;font-size:14px;color:#464540;font-weight:400}.article .post-meta{margin-bottom:16px}.article .post-by{margin-top:16px}.article .post-by img{border-radius:50%}.article .post-by--authors{flex-direction:column;align-items:flex-start;gap:6px}.article .post-authors{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.article .post-author{display:inline-flex;align-items:center;gap:7px}.article .series-tag{padding:2px 10px;border-radius:99px;background:#ecf2ff;color:var(--a-link);font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.5;text-transform:uppercase}@media (max-width:600px){.article .post-head{margin-bottom:32px;padding-bottom:24px}}.article p{margin:0 0 1.1em}.article .pill-btn{display:inline-flex;align-items:center;border-radius:999px;background:linear-gradient(180deg,#4b7be5,#3a62c4);color:#fff;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.article .pill-btn:hover{background:linear-gradient(180deg,#5a8af0,#4b7be5);text-decoration:none}.article .toc{margin:2em 0;padding:1.2em 1.4em;background:var(--a-well);border:1px solid var(--a-line);border-radius:var(--a-radius)}.article .toc h2{margin:0 0 .6em;padding-top:0;border-top:0;font-size:.78em;letter-spacing:.1em;text-transform:uppercase;color:var(--a-faint)}.article .toc ol{margin:0;padding-left:1.2em}.article .toc li{margin-bottom:.35em}.article .note{margin:1.5em 0;padding:1em 1.2em;background:var(--a-well);border-left:4px solid var(--a-accent);border-radius:0 var(--a-radius) var(--a-radius) 0}.article .note p:last-child{margin-bottom:0}.article .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0;border:1px solid var(--a-line);border-radius:var(--a-radius);background:linear-gradient(to right,var(--a-well) 30%,rgba(255,255,255,0)) 0 /40px 100% no-repeat,linear-gradient(to left,var(--a-well) 30%,rgba(255,255,255,0)) 100% /40px 100% no-repeat;background-attachment:local,local}.article table{border-collapse:collapse;width:100%;font-size:.9em}.article caption{text-align:left;padding:.6em .8em;font-size:.85em;color:var(--a-faint)}.article td,.article th{text-align:left;padding:.7em .85em;border-bottom:1px solid var(--a-line);vertical-align:top}.article thead th{font-size:.78em;letter-spacing:.06em;text-transform:uppercase;color:var(--a-faint);background:var(--a-well);white-space:nowrap}.article tbody th{font-weight:600;white-space:nowrap}.article tbody tr:last-child td,.article tbody tr:last-child th{border-bottom:none}:root{--toc-top:0px}@media (prefers-reduced-motion:no-preference){html:has(.article){scroll-behavior:smooth}}.article h2[id],.article h3[id]{scroll-margin-top:calc(var(--toc-top) + 72px)}.tocA-bar,.tocA-rail{font-family:Neutral Sans Medium,Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7;color:#464540;-webkit-font-smoothing:antialiased}@media (max-width:600px){.tocA-bar,.tocA-rail{font-size:16px}}.toc-list,.toc-list ol{list-style:none;margin:0;padding:0}.toc-list li{margin:0}.toc-list a{display:block;padding:5px 10px 5px 12px;border-left:2px solid transparent;color:#6a6a62;font-weight:400;line-height:1.4;text-decoration:none}.toc-list a:hover{color:#3a62c4}.toc-list>li.on>a{color:#1c1d20;font-weight:600;border-left-color:#4b7be5}.toc-list ol a{padding-left:24px;font-size:.92em}.toc-list ol li.on>a{color:#1c1d20}.toc-list>li:not(.on)>ol{display:none}.toc-list a:focus-visible{outline:3px solid #ecf2ff;outline-offset:0;border-left-color:#4b7be5}.tocA-bar{display:none}.tocA-rail{position:fixed;z-index:15;top:calc(var(--toc-top) + 32px);left:24px;width:196px;max-height:calc(100vh - var(--toc-top) - 64px);overflow-y:auto;font-size:14px;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.toc-shown .tocA-rail{opacity:1;visibility:visible}.tocA-label{margin:0 0 8px 12px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8d8d84}@media (max-width:1439px){.tocA-rail{display:none}.tocA-bar{display:block}}.tocA-bar{position:fixed;z-index:15;left:0;right:0;top:var(--toc-top);background:rgba(255,254,245,.97);border-bottom:1px solid #eaeae7;transform:translateY(-110%);visibility:hidden;transition:transform .18s ease,visibility .18s}.toc-shown .tocA-bar{transform:none;visibility:visible}.tocA-toggle{appearance:none;display:flex;align-items:center;gap:10px;width:100%;max-width:800px;margin:0 auto;padding:10px 32px;border:0;background:none;font:inherit;font-size:14px;color:#1c1d20;text-align:left;cursor:pointer}.tocA-k{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8d8d84}.tocA-cur{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.tocA-toggle svg{flex:none;width:16px;height:16px;color:#6a6a62;transition:transform .15s}.tocA-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.tocA-toggle:focus-visible{outline:3px solid #ecf2ff;outline-offset:-3px}.tocA-progress{height:2px}.tocA-progress i{display:block;height:100%;width:0;background:#4b7be5}.tocA-drop{max-width:800px;margin:0 auto;padding:6px 22px 14px;max-height:60vh;overflow-y:auto;font-size:15px;border-top:1px solid #eaeae7}.tocA-drop[hidden]{display:none}@media (max-width:600px){.tocA-toggle{padding:10px 24px}.tocA-drop{padding:6px 14px 12px}}@media (prefers-reduced-motion:reduce){.tocA-bar,.tocA-rail,.tocA-toggle svg{transition:none}}