:root{--bg: #1f242c;--bg-2: #252b34;--bg-3: #2c333d;--line: #3a424e;--line-2: #4a5362;--fg: #e6ebf1;--fg-2: #b6c0cd;--fg-3: #949fae;--brand: #e9c76a;--brand-ink: #1d1600;--accent: #79a9f5;--ok: #57c47a;--warn: #e0b23c;--danger: #f08080;--glow: radial-gradient(60% 50% at 50% 0%, rgba(233, 199, 106, .14), transparent 70%);--shadow: 0 1px 0 rgba(255,255,255,.05) inset, 0 18px 50px rgba(8,10,14,.45);--radius: 10px;--radius-s: 6px;--sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--pixel: "Press Start 2P", "DotGothic16", monospace;--step--1: clamp(.82rem, .8rem + .15vw, .9rem);--step-0: clamp(1rem, .97rem + .2vw, 1.0625rem);--step-1: clamp(1.125rem, 1.05rem + .4vw, 1.3rem);--step-2: clamp(1.35rem, 1.2rem + .8vw, 1.8rem);--step-3: clamp(1.7rem, 1.35rem + 1.6vw, 2.5rem);--step-4: clamp(2.1rem, 1.4rem + 3.4vw, 4.2rem);--space-s: clamp(.75rem, .6rem + .6vw, 1.1rem);--space-m: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem);--space-l: clamp(3rem, 2rem + 4vw, 5.5rem);--space-xl: clamp(4rem, 2.5rem + 7vw, 8rem);--wide: 1120px;--prose: 760px;color-scheme:dark}@media(min-width:900px){:root{--wide: 80vw;--prose: min(760px, 80vw)}}@media(prefers-color-scheme:light){:root{--bg: #ffffff;--bg-2: #f6f7f9;--bg-3: #eef0f4;--line: #dfe3ea;--line-2: #cfd5df;--fg: #14171d;--fg-2: #4b5563;--fg-3: #6b7280;--brand: #b98a00;--brand-ink: #ffffff;--accent: #0b5fd6;--ok: #15803d;--warn: #a16207;--danger: #b91c1c;--glow: radial-gradient(60% 50% at 50% 0%, rgba(185, 138, 0, .12), transparent 70%);--shadow: 0 1px 2px rgba(20,23,29,.06), 0 16px 40px rgba(20,23,29,.1);color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--step-0);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:anywhere}:lang(ja) body,body:lang(ja){line-height:1.85}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.15em}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-999px;top:8px;background:var(--brand);color:var(--brand-ink);padding:8px 12px;border-radius:6px;z-index:100}.skip:focus{left:8px}.dim{color:var(--fg-3)}.mark{font-family:var(--pixel);font-size:13px;letter-spacing:.12em;color:var(--brand);-webkit-font-smoothing:none;text-rendering:geometricPrecision}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:0 1.15rem;border-radius:999px;font-weight:600;font-size:var(--step-0);line-height:1;text-decoration:none;border:1px solid var(--line-2);color:var(--fg);background:transparent}.btn:hover{text-decoration:none;border-color:var(--fg-3)}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:transparent}.btn.primary:hover{filter:brightness(1.06)}.btn.small{min-height:36px;padding:0 .9rem;font-size:var(--step--1)}.go,article .go{display:inline-flex;align-items:center;min-height:44px;padding:0 1.15rem;border-radius:999px;font-weight:600;text-decoration:none;border:1px solid var(--line-2);color:var(--fg);margin:.25rem .5rem .25rem 0}.go.on,article .go.on{background:var(--brand);color:var(--brand-ink);border-color:transparent}.go:hover{text-decoration:none;border-color:var(--fg-3)}.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.top-in{max-width:var(--wide);margin:0 auto;padding:0 var(--space-s);min-height:60px;display:flex;align-items:center;gap:var(--space-s)}.brand{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none}.brand .logo{height:28px;width:auto;display:block}.foot-brand .brand{min-height:0}.foot-brand .logo{height:24px}.mark-text{font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--fg)}.menu{margin-left:auto;position:relative}.lang-top{font-size:var(--step--1);font-weight:600;letter-spacing:.06em;color:var(--fg-2);border:1px solid var(--line-2, var(--line));border-radius:999px;padding:.35rem .75rem;text-decoration:none;white-space:nowrap}.lang-top:hover{color:var(--fg);border-color:var(--accent)}.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .6rem;color:var(--fg-2);font-size:var(--step--1);border-radius:8px}.menu summary::-webkit-details-marker{display:none}.menu .bars{width:18px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;display:inline-block}.menu nav ul{list-style:none;margin:0;padding:.4rem;display:grid;gap:.1rem}.menu nav a{display:block;padding:.6rem .8rem;border-radius:8px;color:var(--fg-2);font-size:var(--step-0)}.menu nav a:hover,.menu nav a[aria-current=page]{color:var(--fg);background:var(--bg-3);text-decoration:none}.menu nav .lang{color:var(--fg-3)}@media(max-width:899px){.menu[open] nav{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.top .btn.small{display:none}.menu nav ul{padding:.5rem}}@media(min-width:900px){.menu summary{display:none}.menu nav ul{display:flex;gap:.15rem;padding:0}.menu nav a{padding:.5rem .75rem;font-size:var(--step--1)}}.hero{position:relative;padding:var(--space-l) var(--space-s) var(--space-m);border-bottom:1px solid var(--line);background:var(--bg)}.hero.lv3{background:var(--glow),var(--bg);padding-top:var(--space-m)}.hero-in{max-width:var(--wide);margin:0 auto;min-width:0}.kicker{margin:0 0 var(--space-s);color:var(--fg-3);font-size:var(--step--1);font-weight:600;letter-spacing:.08em;text-transform:uppercase}:lang(ja) .kicker{letter-spacing:.04em;text-transform:none}.hero h1{margin:0;font-size:var(--step-4);line-height:1.08;letter-spacing:-.02em;font-weight:700;text-wrap:balance;max-width:18ch}:lang(ja) .hero h1{letter-spacing:0;line-height:1.25;max-width:22ch;word-break:keep-all;overflow-wrap:normal;line-break:strict;font-size:clamp(2rem,4.6vw,3.6rem)}:lang(ja) h2,:lang(ja) h3,:lang(ja) .kicker{word-break:auto-phrase;overflow-wrap:normal;text-wrap:pretty}:lang(ja) .body table,:lang(ja) .body pre,:lang(ja) .body code{word-break:normal}.hero.lv2 h1{font-size:var(--step-3);max-width:30ch}.hero .tldr{margin:var(--space-s) 0 0;max-width:62ch;color:var(--fg-2);font-size:var(--step-1);line-height:1.65}:lang(ja) .hero .tldr{line-height:1.8}.cta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:var(--space-s) 0 0}.hero .meta{margin:var(--space-m) 0 0;color:var(--fg-3);font-size:var(--step--1)}.hero .meta time{font-variant-numeric:tabular-nums}.hero-visual{margin:var(--space-l) auto 0}@media(min-width:900px){.landing .hero.lv3{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-l);align-items:start;max-width:calc(var(--wide) + 2 * var(--space-s));margin:0 auto;border-bottom:0}.landing .hero.lv3:after{content:"";grid-column:1 / -1;border-bottom:1px solid var(--line);margin:var(--space-m) calc(-1 * var(--space-s)) 0}.landing .hero.lv3 .hero-visual{margin:calc(var(--step--1) * 1.5 + var(--space-s)) 0 0;min-width:0}.landing .hero.lv3>.hero-in{min-width:0;max-width:100%;overflow-wrap:anywhere}.landing .hero.lv3:not(:has(.hero-visual)){grid-template-columns:1fr}}.mock{margin:0;max-width:720px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;font-size:var(--step--1)}.mock-bar{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);background:var(--bg-3)}.mock-dot{width:10px;height:10px;border-radius:50%;background:var(--brand)}.mock-title{font-family:var(--mono);color:var(--fg-2)}.mock-chain{margin-left:auto;color:var(--ok);font-family:var(--mono);font-size:.8em;border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);border-radius:999px;padding:.1em .6em}.mock-warn{display:flex;gap:.5rem;align-items:center;padding:.6rem .9rem;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border-bottom:1px solid var(--line)}.mock-warn code{color:var(--fg)}.mock-feed{list-style:none;margin:0;padding:.3rem 0}.mock-feed li{display:grid;grid-template-columns:14px 1fr auto;gap:.7rem;align-items:start;padding:.6rem .9rem;border-bottom:1px solid var(--line);line-height:1.5}.mock-feed li:last-child{border-bottom:0}.mock-feed time{color:var(--fg-3);font-family:var(--mono);font-variant-numeric:tabular-nums}.mock-ic{width:12px;height:12px;border-radius:50%;margin-top:.35em;border:2px solid var(--accent)}.mock-ic.ask{border-color:var(--warn);background:var(--warn)}.mock-verb{color:var(--fg-2)}.mock-lbl{display:inline-block;font-size:.78em;padding:0 .5em;border-radius:999px;border:1px solid var(--line-2);color:var(--fg-2);vertical-align:1px}.mock-lbl.wait{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.mock-lbl.dup{color:var(--warn);border-color:transparent}.mock-task{color:var(--fg-3)}.mock code{font-family:var(--mono);font-size:.92em;color:var(--fg);background:var(--bg-3);padding:.05em .4em;border-radius:4px}.mock-cap{padding:.5rem .9rem;color:var(--fg-3);font-family:var(--mono);font-size:.85em;border-top:1px solid var(--line);background:var(--bg-3)}.body>section{padding:var(--space-l) var(--space-s)}.body>section>*{max-width:var(--prose);margin-left:auto;margin-right:auto}.landing .body>section>*{max-width:var(--wide)}.body>section>h2{position:relative;margin:0 auto var(--space-s);font-size:var(--step-3);line-height:1.2;letter-spacing:-.015em;font-weight:700;text-wrap:balance}:lang(ja) .body>section>h2{letter-spacing:0;line-height:1.35}.body>section[data-n]>h2:before{content:attr(data-n)}.body>section[data-n]>h2:before{content:""}.body>section[data-n]:before{content:attr(data-n);display:block;max-width:var(--prose);margin:0 auto .6rem;font-family:var(--mono);font-size:var(--step--1);color:var(--brand);letter-spacing:.1em}.landing .body>section:first-child{background:var(--bg-2);border-bottom:1px solid var(--line);padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.landing .body>section:first-child>h2{font-size:var(--step-4);line-height:1.1}:lang(ja) .landing .body>section:first-child>h2{line-height:1.25}.body>section+section{border-top:1px solid var(--line)}.body>section:nth-child(odd):not(:first-child){background:var(--bg-2)}.article .body>section:first-child{background:transparent}.body p,.body li{color:var(--fg-2)}.body p{margin:0 auto var(--space-s)}.body strong{color:var(--fg);font-weight:600}.body ul,.body ol{padding-left:1.4em;margin:0 auto var(--space-s)}.body li+li{margin-top:.4em}.body li::marker{color:var(--brand)}.body h3{font-size:var(--step-1);margin:var(--space-m) auto var(--space-s)}.body blockquote{margin:0 auto var(--space-s);padding:.8rem 1rem;border-left:3px solid var(--brand);color:var(--fg-2);background:var(--bg-3);border-radius:0 var(--radius-s) var(--radius-s) 0}.body blockquote p{margin:0}.body hr{border:0;border-top:1px solid var(--line);margin:var(--space-m) auto}.body code{font-family:var(--mono);font-size:.9em;padding:.12em .4em;background:var(--bg-3);border:1px solid var(--line);border-radius:5px;color:var(--fg)}.body pre{max-width:min(var(--wide),100%);width:min(880px,100%);margin:var(--space-s) auto var(--space-m);padding:1rem 1.2rem;overflow:auto;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--mono);font-size:.86em;line-height:1.5;color:var(--fg);white-space:pre;box-shadow:var(--shadow)}.body pre code{padding:0;border:0;background:transparent;font-size:1em;white-space:pre}.body table{display:block;width:min(880px,100%);max-width:100%;overflow-x:auto;margin:var(--space-s) auto var(--space-m);border-collapse:collapse;font-size:var(--step--1)}.body table thead th{text-align:left;color:var(--fg-3);font-weight:600;font-size:.92em;letter-spacing:.02em;padding:.6rem .9rem;border-bottom:1px solid var(--line-2);white-space:nowrap}.body table td{padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top;color:var(--fg-2)}.body table td:first-child{color:var(--fg);font-weight:500}.body table tbody tr:last-child td{border-bottom:0}.body table th,.body table td{min-width:8ch;word-break:keep-all;overflow-wrap:anywhere}@media(max-width:640px){.body table.stack{display:block;overflow:visible}.body table.stack thead{display:none}.body table.stack tbody,.body table.stack tr,.body table.stack td{display:block;min-width:0}.body table.stack tr{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-2, var(--bg));padding:.35rem .9rem .6rem;margin:0 0 .7rem}.body table.stack td{border-bottom:1px solid var(--line);padding:.55rem 0}.body table.stack tr td:last-child{border-bottom:0}.body table.stack td:before{content:attr(data-label);display:block;font-size:.78em;color:var(--fg-3);letter-spacing:.02em;margin-bottom:.15rem}.body table.stack td:first-child{font-weight:700;color:var(--fg);font-size:1.02em;padding-top:.5rem}.body table.stack td:first-child:before{display:none}.body table.stack td[data-label=""]:before{display:none}}.body img{max-width:100%;height:auto;border-radius:var(--radius)}.body p:has(>.go){display:flex;flex-wrap:wrap;gap:.5rem}.landing .body>section:last-child>ol{list-style:none;padding:0;max-width:var(--wide);display:grid;gap:var(--space-s);grid-template-columns:1fr;counter-reset:step}.landing .body>section:last-child>ol>li{counter-increment:step;margin:0;padding:1.1rem 1.2rem 1.2rem;background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg-2)}.landing .body>section:last-child>ol>li:before{content:"0" counter(step);display:block;font-family:var(--mono);font-size:var(--step-2);color:var(--brand);margin-bottom:.4rem;line-height:1}@media(min-width:720px){.landing .body>section:last-child>ol{grid-template-columns:repeat(3,minmax(0,1fr))}}.faq{padding:var(--space-l) var(--space-s);border-top:1px solid var(--line)}.faq>h2,.faq-list{max-width:var(--prose);margin-left:auto;margin-right:auto}.faq>h2{margin:0 auto var(--space-s);font-size:var(--step-2)}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;font-weight:600;color:var(--fg)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--brand);font-weight:400;flex:none}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0 0 1rem;color:var(--fg-2)}.author{max-width:var(--prose);margin:0 auto;padding:var(--space-m) var(--space-s) var(--space-l);color:var(--fg-3);font-size:var(--step--1)}.author a{color:var(--fg-3)}.foot{border-top:1px solid var(--line);background:var(--bg-2)}.foot-in{max-width:var(--wide);margin:0 auto;padding:var(--space-l) var(--space-s) var(--space-m);display:grid;gap:var(--space-m);grid-template-columns:1fr}.foot h3{margin:0 0 .6rem;font-size:var(--step--1);color:var(--fg-3);font-weight:600;letter-spacing:.06em;text-transform:uppercase}:lang(ja) .foot h3{letter-spacing:.02em;text-transform:none}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.foot a{color:var(--fg-2)}.foot .linklike{font:inherit;color:var(--fg-2);background:none;border:0;padding:0;cursor:pointer;text-align:left}.foot .linklike:hover{text-decoration:underline}.foot-brand p{margin:.6rem 0 0;max-width:32ch;font-size:var(--step--1)}.foot-legal{max-width:var(--wide);margin:0 auto;padding:0 var(--space-s) var(--space-m);font-size:var(--step--1)}@media(min-width:640px){.foot-in{grid-template-columns:1fr 1fr}}@media(min-width:900px){.foot-in{grid-template-columns:1.4fr 1fr 1fr 1fr}}main>article:not(.page){max-width:var(--prose);margin:0 auto;padding:var(--space-l) var(--space-s)}main>article:not(.page) h1{font-size:var(--step-3)}main>article:not(.page) pre{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;font-family:var(--mono)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.lang-hint{position:fixed;right:1rem;bottom:1rem;z-index:50;display:flex;align-items:center;gap:.5rem;max-width:calc(100% - 2rem);padding:.55rem .6rem .55rem .9rem;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--step--1);line-height:1.5}.lang-hint[hidden]{display:none}.lang-hint p{margin:0}.lang-hint a{color:var(--accent);font-weight:600;white-space:nowrap}.lang-hint button{background:none;border:0;color:var(--fg-3);font-size:1.15em;line-height:1;padding:.15em .4em;cursor:pointer;border-radius:var(--radius-s)}.lang-hint button:hover{color:var(--fg);background:var(--bg-3)}.consent[data-astro-cid-ruz5wv6z]{position:fixed;inset-inline:0;bottom:0;z-index:60;background:#0d1117;color:#e6edf3;border-top:1px solid #30363d;box-shadow:0 -6px 24px #00000059}.consent-in[data-astro-cid-ruz5wv6z]{max-width:1080px;margin:0 auto;padding:14px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.consent-text[data-astro-cid-ruz5wv6z]{flex:1 1 420px;min-width:260px}.consent-text[data-astro-cid-ruz5wv6z] b[data-astro-cid-ruz5wv6z]{font-size:14px;display:block;margin-bottom:2px}.consent-text[data-astro-cid-ruz5wv6z] p[data-astro-cid-ruz5wv6z]{margin:0;font-size:13px;line-height:1.6;color:#b6c2cf}.consent-text[data-astro-cid-ruz5wv6z] a[data-astro-cid-ruz5wv6z]{color:#6cb6ff}.consent-btns[data-astro-cid-ruz5wv6z]{display:flex;gap:10px;flex:0 0 auto}.consent-btns[data-astro-cid-ruz5wv6z] button[data-astro-cid-ruz5wv6z]{font:inherit;font-size:13px;font-weight:600;padding:9px 20px;min-width:132px;border-radius:6px;border:1px solid #4d5866;background:#21262d;color:#e6edf3;cursor:pointer}.consent-btns[data-astro-cid-ruz5wv6z] button[data-astro-cid-ruz5wv6z]:hover{background:#30363d}.consent-btns[data-astro-cid-ruz5wv6z] button[data-astro-cid-ruz5wv6z]:focus-visible{outline:2px solid #6cb6ff;outline-offset:2px}@media(max-width:560px){.consent-btns[data-astro-cid-ruz5wv6z]{width:100%}.consent-btns[data-astro-cid-ruz5wv6z] button[data-astro-cid-ruz5wv6z]{flex:1;min-width:0}}
