.langsw[data-astro-cid-3s4v7zxg]{position:relative}summary[data-astro-cid-3s4v7zxg]{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);height:2.2rem;color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:.4rem;padding:0 .75rem;font-weight:600;list-style:none;display:inline-flex}summary[data-astro-cid-3s4v7zxg]::-webkit-details-marker{display:none}summary[data-astro-cid-3s4v7zxg]:hover{border-color:var(--line-strong);color:var(--ink)}ul[data-astro-cid-3s4v7zxg]{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:10rem;box-shadow:var(--sh-3);padding:.35rem;position:absolute;top:calc(100% + .5rem);right:0}ul[data-astro-cid-3s4v7zxg] a[data-astro-cid-3s4v7zxg]{border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink-2);padding:.5rem .7rem;display:block}ul[data-astro-cid-3s4v7zxg] a[data-astro-cid-3s4v7zxg]:hover{background:var(--surface-2);color:var(--ink)}ul[data-astro-cid-3s4v7zxg] a[data-astro-cid-3s4v7zxg][aria-current=true]{color:var(--accent-ink);background:var(--accent-soft);font-weight:700}@media (width<=520px){summary[data-astro-cid-3s4v7zxg] span[data-astro-cid-3s4v7zxg]{display:none}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--sp-4);min-height:4rem;display:flex}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.7rem;min-width:0;display:inline-flex}.brand-text[data-astro-cid-nen7h5rs]{align-items:baseline;gap:.55rem;min-width:0;font-size:.95rem;display:inline-flex}.brand-suffix[data-astro-cid-nen7h5rs]{color:var(--ink-3);white-space:nowrap;font-weight:600}.tools[data-astro-cid-nen7h5rs]{flex:none;align-items:center;gap:.5rem;margin-inline-start:auto;display:flex}.portal-link[data-astro-cid-nen7h5rs]{font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--r-pill);padding:.4rem .6rem;font-weight:600}.portal-link[data-astro-cid-nen7h5rs]:hover{color:var(--ink);background:var(--surface-2)}.icon-btn[data-astro-cid-nen7h5rs]{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);width:2.2rem;height:2.2rem;color:var(--ink-2);cursor:pointer;place-items:center;display:inline-grid}.icon-btn[data-astro-cid-nen7h5rs]:hover{border-color:var(--line-strong);color:var(--ink)}.i-moon[data-astro-cid-nen7h5rs]{display:block}.i-sun[data-astro-cid-nen7h5rs],:root[data-theme=dark] .i-moon[data-astro-cid-nen7h5rs]{display:none}:root[data-theme=dark] .i-sun[data-astro-cid-nen7h5rs]{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .i-moon[data-astro-cid-nen7h5rs]{display:none}:root:not([data-theme=light]) .i-sun[data-astro-cid-nen7h5rs]{display:block}}@media (width<=600px){.portal-link[data-astro-cid-nen7h5rs]{display:none}}@media (width<=380px){.brand-suffix[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{margin-top:var(--sp-9);border-top:1px solid var(--line);padding-block:var(--sp-7) var(--sp-6);background:var(--surface)}.footer-top[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--sp-5) var(--sp-7);flex-wrap:wrap;display:flex}.brand[data-astro-cid-jo6i4kqk]{align-items:center;gap:.65rem;display:inline-flex}.brand-text[data-astro-cid-jo6i4kqk]{align-items:baseline;gap:.5rem;font-size:.9rem;display:inline-flex}.brand-suffix[data-astro-cid-jo6i4kqk]{color:var(--ink-3);font-weight:600}.desc[data-astro-cid-jo6i4kqk]{margin-top:var(--sp-3);max-width:34rem;color:var(--ink-2);font-size:var(--fs-sm)}.links[data-astro-cid-jo6i4kqk]{align-content:start;gap:var(--sp-2) var(--sp-5);flex-wrap:wrap;display:flex}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{font-size:var(--fs-sm);color:var(--ink-2);font-weight:600}.links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-ink)}.family[data-astro-cid-jo6i4kqk]{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line)}.family[data-astro-cid-jo6i4kqk] .zz-family{gap:var(--sp-2) var(--sp-5);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.family[data-astro-cid-jo6i4kqk] .zz-family>a{font-size:var(--fs-xs);letter-spacing:.14em;color:var(--ink);font-weight:800}.family[data-astro-cid-jo6i4kqk] .zz-family ul{flex-wrap:wrap;gap:.3rem 1.1rem;display:flex}.family[data-astro-cid-jo6i4kqk] .zz-family li a{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap}.family[data-astro-cid-jo6i4kqk] .zz-family a:hover{color:var(--accent-ink)}.copy[data-astro-cid-jo6i4kqk]{margin-top:var(--sp-5);font-size:var(--fs-xs);color:var(--ink-3)}@media (width<=600px){.family[data-astro-cid-jo6i4kqk] .zz-family{grid-template-columns:1fr}}.page{max-width:var(--measure);padding:var(--sp-6) var(--gutter) 0;margin-inline:auto}.post-hero{border-bottom:1px solid var(--line);background:radial-gradient(60rem 22rem at 15% -10%, var(--glow), transparent 70%), radial-gradient(40rem 18rem at 95% 0%, color-mix(in srgb, var(--site,var(--accent)) 14%, transparent), transparent 70%), var(--bg);position:relative;overflow:hidden}.post-hero__inner{max-width:52rem;padding:var(--sp-7) var(--gutter) var(--sp-6);margin-inline:auto}.post-hero__sites{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.post-hero__title{font-size:var(--fs-2xl);line-height:var(--lh-tight)}.post-hero__lead{margin-top:var(--sp-4);max-width:40rem;font-size:var(--fs-md);color:var(--ink-2)}.post-hero__meta{margin-top:var(--sp-5);gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-3);flex-wrap:wrap;display:flex}.post-cover{max-width:60rem;margin:var(--sp-6) auto 0;padding-inline:var(--gutter)}.post-cover__frame{aspect-ratio:16/10;border-radius:var(--r-xl);border:1px solid var(--line);box-shadow:var(--sh-2);background:var(--surface-2);overflow:hidden}.post-cover__frame img{object-fit:cover;width:100%;height:100%}.draft-banner{margin-bottom:var(--sp-4)}.prose{margin-top:var(--sp-6);color:var(--ink);font-size:1.06rem;line-height:1.85}:lang(ja) .prose{line-height:1.95}.prose>*+*{margin-top:1.15em}.prose h2{font-size:var(--fs-xl);letter-spacing:-.025em;margin-top:2.4em}.prose h3{font-size:var(--fs-lg);margin-top:1.9em}.prose h2+*,.prose h3+*{margin-top:.8em}.prose ul,.prose ol{padding-inline-start:1.35em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li::marker{color:var(--ink-3)}.prose li+li{margin-top:.4em}.prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:.2em;text-decoration-thickness:1px}.prose a:hover{text-decoration-color:currentColor}.prose strong{background:linear-gradient(transparent 62%, var(--hl) 62%);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:700}.prose img{border-radius:var(--r-lg);border:1px solid var(--line);width:auto;max-height:min(70vh,40rem);margin-inline:auto}.prose img+em,.prose p:has(>img)+p>em:only-child{text-align:center;font-size:var(--fs-sm);color:var(--ink-3);margin-top:-.4em;display:block}.prose blockquote{padding:.1em 0 .1em var(--sp-5);border-inline-start:3px solid var(--accent);color:var(--ink-2);margin-inline:0}.prose hr{background:var(--line);border:0;height:1px;margin-block:2.4em}.prose code{background:var(--surface-2);border-radius:5px;padding:.1em .35em;font-size:.9em}.prose pre{padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-sunken);overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;font-size:.95em;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:start;padding:.55em .9em}.prose th{color:var(--ink-2);border-bottom-color:var(--line-strong);font-weight:700}.prose .callout{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);margin-block:1.8em}.prose .callout>*+*{margin-top:.55em}.prose .callout__title{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.prose .callout--tip{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft)}.prose .callout--tip .callout__title{color:var(--accent-ink)}.prose .callout--steps ol{counter-reset:step;padding-inline-start:0;list-style:none}.prose .callout--steps ol>li{counter-increment:step;padding-inline-start:2.2rem;position:relative}.prose .callout--steps ol>li:before{content:counter(step);background:var(--ink);width:1.5rem;height:1.5rem;color:var(--bg);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:.2em;left:0}.prose .notice{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-sunken);font-size:var(--fs-sm);color:var(--ink-2);margin-block:1.8em;line-height:1.7}.prose .notice>*+*{margin-top:.25em}.prose .notice__title{color:var(--ink);font-weight:700}.site-card{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-4) var(--sp-4);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--sh-1);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);grid-template-columns:auto 1fr auto;display:grid}.prose .site-card{margin-block:1.8em;text-decoration:none}.site-card:hover{border-color:color-mix(in srgb, var(--site) 60%, var(--line));box-shadow:var(--sh-2);transform:translateY(-2px)}.site-card__icon{background:color-mix(in srgb, var(--site) 16%, var(--surface));width:3rem;height:3rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--site) 30%, transparent);border-radius:14px;place-items:center;font-size:1.45rem;line-height:1;display:grid}.site-card__body{gap:.1rem;min-width:0;display:grid}.site-card__eyebrow{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--ink-3);font-weight:600}.site-card__name{font-size:var(--fs-md);letter-spacing:-.02em;font-weight:800;line-height:var(--lh-snug)}.site-card__kicker{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5}.site-card__go{font-size:var(--fs-sm);color:var(--accent-ink);white-space:nowrap;font-weight:700}@media (width<=520px){.site-card{grid-template-columns:auto 1fr}.site-card__go{grid-column:2}}.toc{padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface)}.toc__title{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--sp-2);font-weight:700}.toc ol{counter-reset:toc;gap:.35rem;display:grid}.toc li{counter-increment:toc;font-size:var(--fs-sm);grid-template-columns:1.8rem 1fr;display:grid}.toc li:before{content:counter(toc, decimal-leading-zero);color:var(--ink-3);font-variant-numeric:tabular-nums}.toc a{color:var(--ink-2)}.toc a:hover{color:var(--accent-ink)}.faq{margin-top:var(--sp-8)}.faq h2{font-size:var(--fs-xl);margin-bottom:var(--sp-4)}.faq details{border-bottom:1px solid var(--line);padding-block:var(--sp-3)}.faq details:first-of-type{border-top:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--sp-4);font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--ink-3);transition:transform var(--dur) var(--ease);font-weight:400}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin-top:var(--sp-2);color:var(--ink-2)}.post-sites{margin-top:var(--sp-8)}.post-sites h2{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--sp-3);font-weight:700}.post-sites ul{gap:var(--sp-3);display:grid}.other-langs,.back{margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3)}.other-langs ul{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.other-langs a{border-radius:var(--r-pill);border:1px solid var(--line);color:var(--ink-2);padding:.3em .8em;font-weight:600;display:inline-block}.other-langs a:hover{border-color:var(--accent);color:var(--ink)}.back{border-top:0;padding-top:0}.back a{color:var(--accent-ink);font-weight:600}
