:root{--paper:#fcfcfc;--paper-2:#f6f6f7;--surface:#fff;--ink:#2f2722;--ink-soft:#58514c;--ink-faint:#7d7671;--rule:#dfdad4;--rule-strong:#c3bdb5;--brand:#e0432c;--brand-dark:#c1361f;--on-brand:#fff;--marker-highlight:#ffd65c8c;--cat-collect-bg:#fce6c3;--cat-collect-fg:#745022;--cat-reply-bg:#d5f3da;--cat-reply-fg:#235638;--cat-meo-bg:#d3effd;--cat-meo-fg:#21547b;--focus-ring:#21547b;--qa-mark-bg:#d3effd;--qa-mark-fg:#21547b;--callout-bg:#d3effd;--callout-fg:#21547b;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-article-section:2rem;--space-article-h2:3rem;--font-sans:system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--fw-regular:400;--fw-medium:600;--fw-bold:700;--fs-2xs:.75rem;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:clamp(1.5rem, 1.345rem + .66vw, 1.875rem);--fs-cta:1.5rem;--fs-2xl:clamp(1.5rem, 1.2rem + 1.4vw, 2rem);--fs-hero:clamp(1.5rem, 1.15rem + 1.6vw, 2.125rem);--fs-title:clamp(1.75rem, 1.375rem + 1.5vw, 2.25rem);--ls-read:.04em;--ls-head:.02em;--ls-display:.02em;--ls-meta:.06em;--ls-caps:.2em;--lh-read:2;--lh-snug:1.75;--lh-tight:1.5;--lh-article:30px;--lh-scan:26px;--radius:4px;--radius-sm:2px;--radius-pill:999px;--shell-max:1160px;--pad-x:clamp(1.125rem, 4vw, 2.5rem);--safe-area-top:env(safe-area-inset-top,0px)}@supports (color:lab(0% 0 0)){:root{--ink:lab(16.4321% 2.82608 4.50081);--ink-soft:lab(34.9984% 2.56778 4.1339);--ink-faint:lab(50.0861% 2.14824 3.48029);--rule:lab(87.2569% .87142 3.70489);--rule-strong:lab(76.8209% 1.15165 4.82888);--cat-collect-bg:lab(92.5713% 3.6886 20.1479);--cat-collect-fg:lab(37.2295% 12.0595 32.4296);--cat-reply-bg:lab(93.0591% -13.3271 8.51729);--cat-reply-fg:lab(32.5393% -23.8116 12.2639);--cat-meo-bg:lab(92.5875% -7.24071 -10.1302);--cat-meo-fg:lab(33.6683% -6.70198 -27.7872);--focus-ring:lab(33.6683% -6.70198 -27.7872);--qa-mark-bg:lab(92.5875% -7.24071 -10.1302);--qa-mark-fg:lab(33.6683% -6.70198 -27.7872);--callout-bg:lab(92.5875% -7.24071 -10.1302);--callout-fg:lab(33.6683% -6.70198 -27.7872)}}*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-read);letter-spacing:var(--ls-read);text-autospace:normal;line-break:strict;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;padding-inline:max(0px, env(safe-area-inset-left)) max(0px, env(safe-area-inset-right));margin:0}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}time{font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--fw-bold)}.masthead__word,.lede__title,.featured__title,.article-title,.cta-band__lead{letter-spacing:var(--ls-display)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.site-header,.site-footer{width:100%;max-width:720px;padding:var(--space-md);margin:0 auto}.site-main{width:100%;max-width:var(--shell-max);padding-inline:var(--pad-x);padding-block:var(--space-lg);margin:0 auto}.site-footer{color:var(--ink-soft);margin-top:var(--space-xl)}.article-list{margin:0;padding:0;list-style:none}.article-item{padding:var(--space-md) 0;border-bottom:1px solid var(--rule)}.article-link{color:var(--ink);font-weight:var(--fw-bold);font-size:var(--fs-lg)}.article-meta{color:var(--ink-faint);font-size:var(--fs-sm);margin-top:var(--space-3xs)}.article-category{color:var(--brand);font-weight:var(--fw-bold)}.page-prose>*+*{margin-top:var(--space-lg)}.page-prose h2{margin-top:var(--space-xl)}.page-prose a{color:var(--ink);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.page-prose a:hover{color:var(--brand-dark)}}.page-prose h3{font-size:var(--fs-lg);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);border-inline-start:4px solid var(--ink-faint);text-wrap:pretty;word-break:auto-phrase;padding:0 0 0 12px}.page-prose h3+*{margin-top:var(--space-sm)}.page-prose ul{gap:var(--space-sm);flex-direction:column;display:flex}.page-prose li{color:var(--ink);padding-inline-start:1.4em;position:relative}.page-prose li:before{content:"";inset-inline-start:.1em;border-radius:var(--radius-sm);background:var(--brand);width:6px;height:6px;position:absolute;top:calc(1em - 3px)}.cta{margin-top:var(--space-2xl);padding:var(--space-lg) var(--space-md);border:1px solid var(--rule);border-radius:var(--radius);text-align:center}.cta-button{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--brand);color:var(--on-brand);border-radius:var(--radius-pill);font-weight:var(--fw-bold);letter-spacing:var(--ls-meta);white-space:nowrap;display:inline-block}.lead-form{gap:var(--space-sm);margin-top:var(--space-lg);flex-direction:column;display:flex}.lead-input{padding:var(--space-sm);font-size:var(--fs-base);border:1px solid var(--rule);border-radius:var(--radius)}.lead-button{padding:var(--space-sm);font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:var(--ls-meta);color:var(--on-brand);background:var(--brand);border-radius:var(--radius);border:none}.lead-note{color:var(--ink-faint);font-size:var(--fs-sm)}.lead-error{color:var(--brand);font-size:var(--fs-sm)}.masthead{background:var(--surface);border-bottom:1px solid var(--rule);position:relative}.masthead:after{content:"";inset-inline:0;background:var(--brand);height:2px;position:absolute;bottom:-4px}.masthead__inner{width:100%;max-width:var(--shell-max);padding-inline:var(--pad-x);padding-block:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin:0 auto;display:flex}.masthead__brand{align-items:center;gap:var(--space-sm);min-height:44px;display:flex}.masthead__logo{flex:none}.masthead__text{gap:var(--space-2xs);flex-direction:column;display:flex}.masthead__word{font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--ink);line-height:var(--lh-tight)}.masthead__tagline{font-size:var(--fs-2xs);color:var(--ink-faint);letter-spacing:var(--ls-meta);line-height:var(--lh-tight)}.masthead__nav{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.masthead__nav-link{min-height:44px;padding-inline:var(--space-sm) calc(var(--space-sm) - var(--ls-meta));border-radius:var(--radius-pill);color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-meta);white-space:nowrap;align-items:center;display:inline-flex}@media (max-width:47.999rem){body:has(.article-layout) .masthead__inner{grid-template-columns:minmax(0,1fr);gap:0;padding:0 18px;display:grid}body:has(.article-layout) .masthead__brand{min-height:52px}body:has(.article-layout) .masthead__tagline{display:none}body:has(.article-layout) .masthead__nav{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:0;min-height:44px;display:grid}body:has(.article-layout) .masthead__nav-link{min-height:44px;padding-inline:4px calc(4px - var(--ls-meta));font-size:var(--fs-2xs)}}@media (hover:hover) and (pointer:fine){.masthead__nav-link:hover{color:var(--ink);background:var(--paper-2)}}.site-footer-main{background:var(--surface);border-top:1px solid var(--rule);color:var(--ink-soft)}.site-footer-main__inner{width:100%;max-width:var(--shell-max);padding:var(--space-2xl) var(--pad-x) var(--space-xl);gap:var(--space-lg);margin:0 auto;display:grid}.site-footer-main__columns{gap:var(--space-lg);grid-template-columns:1fr;display:grid}.site-footer-main__heading{font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-caps);color:var(--ink-faint);margin:0 0 var(--space-sm)}.site-footer-main__list{gap:var(--space-2xs);flex-direction:column;display:flex}.site-footer-main__link{min-height:44px;color:var(--ink-soft);font-size:var(--fs-sm);line-height:var(--lh-tight);letter-spacing:var(--ls-head);white-space:nowrap;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.site-footer-main__link:hover{color:var(--brand)}}.site-footer-main__colophon{border-top:1px solid var(--rule);padding-top:var(--space-md);color:var(--ink-faint);font-size:var(--fs-2xs);line-height:var(--lh-read);letter-spacing:var(--ls-meta)}@media (min-width:48rem){.site-footer-main__columns{grid-template-columns:repeat(3,1fr)}}.shell{width:100%;max-width:var(--shell-max);padding-inline:var(--pad-x);margin-inline:auto}.site-main>.shell{padding-inline:0}.chip{padding-block:3px;padding-inline:10px calc(10px - var(--ls-meta));border-radius:var(--radius-pill);background:var(--chip-bg,var(--paper-2));color:var(--chip-fg,var(--ink-soft));font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-meta);line-height:var(--lh-tight);white-space:nowrap;align-self:flex-start;align-items:center;display:inline-flex}.cat-collect{--chip-bg:var(--cat-collect-bg);--chip-fg:var(--cat-collect-fg)}.cat-reply{--chip-bg:var(--cat-reply-bg);--chip-fg:var(--cat-reply-fg)}.cat-meo{--chip-bg:var(--cat-meo-bg);--chip-fg:var(--cat-meo-fg)}.btn{min-width:min(15rem,100%);min-height:48px;padding-inline:calc(2rem + var(--ls-meta)) 2rem;border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-meta);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5em;transition:background-color .16s ease-out;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--brand-dark)}}.btn:active{background:var(--brand-dark)}.btn__arrow{font-weight:var(--fw-regular)}.thumb{aspect-ratio:40/21;border-radius:var(--radius);background:var(--chip-bg,var(--paper-2));position:relative;overflow:hidden}.thumb__art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.lede{padding-block:var(--space-xl) var(--space-lg);border-bottom:1px solid var(--rule)}.lede__title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-hero);line-height:var(--lh-tight);color:var(--ink);overflow-wrap:anywhere;text-wrap:balance;min-width:0}.lede__text{margin-top:var(--space-sm);max-width:42ch;font-size:var(--fs-sm);line-height:var(--lh-read);color:var(--ink-soft)}.featured{padding-block:var(--space-xl);border-bottom:1px solid var(--rule);display:block}.featured__card{gap:var(--space-md) var(--space-xl);color:inherit;display:grid}.featured__media{width:100%}.featured__thumb{aspect-ratio:16/9}.featured__body{gap:var(--space-sm);flex-direction:column;align-items:flex-start;display:flex}.featured__eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-caps);color:var(--brand);align-items:center;gap:.6em;display:inline-flex}.featured__eyebrow:before{content:"";background:var(--brand);flex:none;width:24px;height:2px}.featured__title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-2xl);line-height:var(--lh-tight);color:var(--ink);overflow-wrap:anywhere;text-wrap:balance}.featured__desc{font-size:var(--fs-sm);line-height:var(--lh-read);color:var(--ink-soft);max-width:52ch}.featured__meta{align-items:center;gap:var(--space-sm);font-size:var(--fs-xs);line-height:var(--lh-read);color:var(--ink-faint);font-variant-numeric:tabular-nums;display:flex}@media (hover:hover) and (pointer:fine){.featured__card:hover .featured__title{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}}.layout{padding-block:var(--space-xl) var(--space-2xl)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-lg);border-bottom:1px solid var(--rule-strong);padding-bottom:10px;display:flex}.section-head__title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);text-wrap:balance}.section-head__more{font-size:var(--fs-xs);font-weight:var(--fw-bold);line-height:var(--lh-read);letter-spacing:var(--ls-meta);color:var(--ink-soft);white-space:nowrap}.card-grid{gap:var(--space-xl) var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.card{gap:var(--space-sm);color:inherit;flex-direction:column;display:flex}.card__body{gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.card__title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-md);line-height:var(--lh-tight);color:var(--ink);letter-spacing:var(--ls-head);overflow-wrap:anywhere;text-wrap:balance}.card__desc{font-size:var(--fs-sm);line-height:var(--lh-read);color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card__date{font-size:var(--fs-xs);line-height:var(--lh-read);color:var(--ink-faint);font-variant-numeric:tabular-nums}@media (hover:hover) and (pointer:fine){.card:hover .card__title{color:var(--brand);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}}.sidebar{margin-top:var(--space-2xl);gap:var(--space-xl);flex-direction:column;display:flex}.widget__head{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-sm);line-height:var(--lh-tight);letter-spacing:var(--ls-meta);color:var(--ink);border-bottom:1px solid var(--ink);margin-bottom:var(--space-md);padding-bottom:11px}.rank{flex-direction:column;display:flex}.rank__item{gap:var(--space-sm);padding-block:var(--space-sm);border-top:1px solid var(--rule);color:inherit;grid-template-columns:28px minmax(0,1fr);align-items:baseline;display:grid}.rank__item:first-child{border-top:none}.rank__num{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-lg);line-height:var(--lh-tight);color:var(--ink-faint);font-variant-numeric:tabular-nums}.rank__body{gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.rank__title{font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);overflow-wrap:anywhere}@media (hover:hover) and (pointer:fine){.rank__item:hover .rank__title{text-underline-offset:.14em;text-decoration:underline}}.catlist__item{border-top:1px solid var(--rule)}.catlist__item:first-child{border-top:none}.catlist__link{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:44px;font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);display:flex}.catlist__count{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}@media (hover:hover) and (pointer:fine){.catlist__link:hover{color:var(--brand)}}.cta-mini{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);gap:var(--space-md);flex-direction:column;align-items:flex-start;padding:20px;display:flex}.cta-mini__lead{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-base);line-height:var(--lh-snug);letter-spacing:var(--ls-head);color:var(--ink)}.cta-mini__text{font-size:var(--fs-xs);line-height:var(--lh-read);color:var(--ink-soft)}.cta-mini .btn{width:100%}.cta-band{margin-block:var(--space-2xl) 0;padding-block:var(--space-2xl);border-top:2px solid var(--ink)}.cta-band__inner{flex-direction:column;align-items:flex-start;gap:0;display:flex}.cta-band .btn{margin-top:var(--space-lg)}.cta-band__lead{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-cta);line-height:var(--lh-tight);color:var(--ink);max-width:30ch}.cta-band__text{margin-top:var(--space-sm);font-size:var(--fs-sm);line-height:var(--lh-read);color:var(--ink-soft);max-width:46ch}@media (min-width:48rem){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured__card{align-items:center;gap:var(--space-xl);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.featured__thumb{aspect-ratio:4/3}}@media (min-width:64rem){.layout__grid{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.card-grid{gap:var(--space-2xl) var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{margin-top:0}.featured__title{font-size:clamp(1.75rem,1rem + 1.6vw,2.25rem)}}@media (prefers-reduced-motion:reduce){html,*,:before,:after{scroll-behavior:auto;transition-duration:0s;animation-duration:0s}}body:has(.article-layout) .site-main{padding-block-start:0}.breadcrumb{padding-block:var(--space-xs)}.breadcrumb ol{min-width:0;font-size:var(--fs-xs);line-height:var(--lh-read);letter-spacing:var(--ls-head);color:var(--ink-faint);flex-wrap:nowrap;align-items:center;gap:.4em;display:flex}.breadcrumb li{min-width:0}.breadcrumb a{min-height:44px;color:var(--ink-faint);white-space:nowrap;align-items:center;display:inline-flex}.breadcrumb li[aria-current]{color:var(--ink-soft);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;display:none;overflow:hidden}.breadcrumb li+li:before{content:"›";color:var(--rule-strong);margin-inline-end:.4em}@media (hover:hover) and (pointer:fine){.breadcrumb a:hover{color:var(--brand)}}.article-layout{padding-block:var(--space-xs) var(--space-2xl)}@media (max-width:47.999rem){.breadcrumb{padding-block:var(--space-xs) var(--space-2xs)}.article-layout{padding-block-start:0}}.article-main{min-width:0}.article-main--solo{margin-inline:auto}.article-head,.article-head__cat{margin-bottom:var(--space-md)}.article-title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-title);line-height:var(--lh-tight);color:var(--ink);min-width:0;margin-bottom:var(--space-md);text-wrap:pretty;word-break:auto-phrase}.article-head__meta{align-items:center;gap:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.article-meta__date{font-size:var(--fs-sm);line-height:var(--lh-tight);color:var(--ink-faint);font-variant-numeric:tabular-nums;align-items:center;gap:.5em;display:inline-flex}.article-meta__date b{font-weight:var(--fw-medium);color:var(--ink-soft);letter-spacing:var(--ls-meta)}.editorial-attribution{gap:var(--space-2xs);margin-bottom:var(--space-article-section);padding:var(--space-sm) var(--space-md);background:var(--paper-2);border-radius:var(--radius);flex-direction:column;display:flex}.editorial-attribution__title{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-meta);color:var(--ink-soft);line-height:18px}.editorial-attribution__line{align-items:baseline;gap:0 var(--space-xs);font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--ink-soft);flex-wrap:wrap;line-height:24px;display:flex}.editorial-attribution__label{font-weight:var(--fw-medium);color:var(--ink)}.editorial-attribution a{color:var(--ink);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){.editorial-attribution a:hover{color:var(--brand-dark)}}.summary{margin-bottom:var(--space-article-section);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:20px 16px 16px;position:relative}.summary__label{top:0;padding-inline:8px calc(8px - var(--ls-meta));background:var(--paper);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--ink);letter-spacing:var(--ls-meta);align-items:center;gap:.5em;line-height:24px;display:inline-flex;position:absolute;inset-inline-start:16px;transform:translateY(-50%)}.summary__label:before{content:"";border-radius:var(--radius-sm);background:var(--brand);flex:none;width:8px;height:8px}.summary__list{gap:var(--space-xs);flex-direction:column;display:flex}.summary__list li{font-size:var(--fs-base);line-height:var(--lh-scan);color:var(--ink);padding-inline-start:1.375em;position:relative}.summary__list li:before{content:"✓";inset-inline-start:0;color:var(--brand);font-weight:var(--fw-bold);font-size:.95em;line-height:var(--lh-scan);position:absolute;top:0}.toc-inline{margin-bottom:var(--space-article-section);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);overflow:hidden}.toc-inline summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-sm);background:var(--paper-2);min-height:48px;font-weight:var(--fw-bold);font-size:var(--fs-base);line-height:var(--lh-tight);color:var(--ink);letter-spacing:var(--ls-head);padding-inline:16px;list-style:none;display:flex}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline summary:after{content:"+";font-weight:var(--fw-regular);color:var(--ink-faint);font-size:20px;line-height:1}.toc-inline[open] summary:after{content:"−"}.toc-inline ol{counter-reset:toc;flex-direction:column;padding:0;display:flex}.toc-inline li{counter-increment:toc;border-top:1px solid var(--rule)}.toc-inline a{gap:var(--space-xs);min-height:44px;padding-block:var(--space-xs);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-soft);line-height:var(--lh-tight);letter-spacing:var(--ls-head);grid-template-columns:2em minmax(0,1fr);align-items:baseline;padding-inline:16px;display:grid}.toc-inline a:before{content:counter(toc, decimal-leading-zero) ".";font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);color:var(--brand);letter-spacing:var(--ls-meta)}@media (hover:hover) and (pointer:fine){.toc-inline a:hover{color:var(--brand)}}.article-body{margin-bottom:var(--space-2xl)}.article-body p{font-size:var(--fs-md);line-height:var(--lh-article);letter-spacing:var(--ls-read);color:var(--ink);margin-bottom:20px}.article-body h2,.faq__title,.related__title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);border-bottom:1px solid var(--rule-strong);text-wrap:pretty;word-break:auto-phrase;padding:0 0 10px}.article-body h2{margin-top:var(--space-article-h2);margin-bottom:var(--space-md);scroll-margin-top:calc(var(--safe-area-top) + 64px)}.article-body h3{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-lg);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);margin-top:var(--space-article-section);margin-bottom:var(--space-sm);border-inline-start:4px solid var(--ink-faint);scroll-margin-top:calc(var(--safe-area-top) + 64px);text-wrap:pretty;word-break:auto-phrase;padding:0 0 0 12px}.article-body strong{font-weight:var(--fw-bold);color:var(--ink)}.article-body .marker{font-weight:var(--fw-bold);color:var(--ink);background:0 0}.article-body a:not(.asset-link__link){color:var(--ink);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}.external-link__icon{white-space:nowrap;margin-inline-start:.2em}@media (hover:hover) and (pointer:fine){.article-body a:not(.asset-link__link):hover{color:var(--brand-dark)}}.article-body ul{margin:0 0 var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.article-body ul li{font-size:var(--fs-md);line-height:var(--lh-read);letter-spacing:var(--ls-read);color:var(--ink);padding-inline-start:1.4em;position:relative}.article-body ul li:before{content:"";inset-inline-start:.1em;border-radius:var(--radius-sm);background:var(--brand);width:6px;height:6px;position:absolute;top:calc(1em - 3px)}.article-body code{font-family:var(--font-sans);background:var(--paper-2);border-radius:var(--radius-sm);color:var(--ink);white-space:nowrap;padding:.1em .4em;font-size:.95em}.article-body blockquote{margin:0 0 var(--space-lg);padding:var(--space-xs) 0 var(--space-xs) var(--space-lg);border-inline-start:2px solid var(--rule-strong);color:var(--ink-soft)}.article-body blockquote p{color:var(--ink-soft);margin-bottom:var(--space-xs)}.article-body blockquote p:last-child{margin-bottom:0}.article-body .table-scroll-shell{margin:0 0 var(--space-lg)}.article-body .table-scroll__hint{margin:0 0 var(--space-xs);color:var(--ink-faint);font-size:var(--fs-xs);line-height:20px}.article-body .table-scroll__frame{position:relative}.article-body .table-scroll{overscroll-behavior-x:contain;overflow-x:auto}.article-body .table-scroll__cue{z-index:1;width:24px;color:var(--ink-soft);background:linear-gradient(to right, transparent, var(--paper));pointer-events:none;place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.article-body .table-scroll__cue[hidden],.article-body .table-scroll__hint[hidden]{display:none}.article-body table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;max-width:none}.article-body th,.article-body td{padding:var(--space-sm) var(--space-md);min-width:128px}.article-body th:first-child,.article-body td:first-child{padding-inline-start:0}.article-body th:last-child,.article-body td:last-child{padding-inline-end:0}.article-body thead th{font-size:var(--fs-base);line-height:var(--lh-scan);letter-spacing:var(--ls-head);font-weight:var(--fw-bold);color:var(--ink);text-align:start;border-bottom:1px solid var(--rule-strong)}.article-body tbody td{font-size:var(--fs-base);line-height:var(--lh-scan);letter-spacing:var(--ls-read);color:var(--ink);vertical-align:top;border-bottom:1px solid var(--rule)}.callout{margin-block:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius);background:var(--callout-bg)}.callout .callout__label{margin:0 0 var(--space-xs);font-size:var(--fs-sm);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-meta);color:var(--callout-fg);align-items:center;gap:.5em;display:flex}.callout__badge{border-radius:var(--radius-pill);background:var(--callout-fg);width:20px;height:20px;color:var(--surface);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:0;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.callout__body{gap:var(--space-sm);flex-direction:column;display:flex}.callout .callout__body p{font-size:var(--fs-base);line-height:var(--lh-snug);letter-spacing:var(--ls-read);color:var(--ink);overflow-wrap:anywhere;margin:0}.figure__frame{padding:var(--space-lg);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-2)}.compare,.flow{margin:var(--space-xl) 0}.compare>figcaption,.flow>figcaption{margin-top:var(--space-sm);font-size:var(--fs-xs);line-height:var(--lh-read);letter-spacing:var(--ls-read);color:var(--ink-faint)}.compare .figure__frame{gap:var(--space-md);display:grid}.compare__panel{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.compare .compare__panel p{font-size:var(--fs-sm);line-height:var(--lh-read);letter-spacing:var(--ls-read);color:inherit;overflow-wrap:anywhere;margin:0}.compare__panel--before{color:var(--ink-soft)}.compare__panel--after{color:var(--ink)}.compare__badge{padding-block:2px;padding-inline:8px calc(8px - var(--ls-meta));border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--surface);color:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-meta);white-space:nowrap;align-self:flex-start;align-items:center;display:inline-flex}.compare__arrow{color:var(--brand);place-self:center;font-size:0;line-height:1}.compare__arrow:before{content:"↓";font-size:var(--fs-lg);line-height:1}.flow .figure__frame{gap:var(--space-md);flex-direction:column;display:flex}.flow__step{align-items:center;gap:var(--space-2xs) var(--space-sm);grid-template-columns:28px minmax(0,1fr);min-width:0;display:grid}.flow__step:before{content:"↓";font-size:var(--fs-lg);color:var(--ink-faint);grid-area:1/1;justify-self:center;line-height:1}.flow__step:first-child:before{content:none}.flow__number{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--paper-2);width:28px;height:28px;color:var(--ink-soft);font-size:var(--fs-2xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:0;grid-area:2/1;justify-content:center;align-items:center;line-height:1;display:inline-flex}.flow__step[data-goal=true] .flow__number{background:var(--brand);color:var(--on-brand);border-color:#0000}.flow__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight);letter-spacing:var(--ls-head);color:var(--ink);overflow-wrap:anywhere;grid-area:2/2}.flow__step:first-child .flow__number{grid-area:1/1}.flow__step:first-child .flow__label{grid-area:1/2}@media (min-width:48rem){.compare .figure__frame{grid-template-columns:1fr auto 1fr}.compare__arrow:before{content:"→"}.flow .figure__frame{flex-flow:wrap;align-items:center}.flow__step{grid-template-columns:auto auto minmax(0,1fr)}.flow__step:before{content:"→";grid-area:1/1}.flow__number{grid-area:1/2}.flow__label{grid-area:1/3}.flow__step:first-child{grid-template-columns:auto minmax(0,1fr)}.flow__step:first-child .flow__number{grid-area:1/1}.flow__step:first-child .flow__label{grid-area:1/2}.article-body .table-scroll__hint,.article-body .table-scroll__cue{display:none}}.faq{margin-bottom:var(--space-2xl)}.faq__title{margin-bottom:var(--space-lg)}.faq__item{border-top:1px solid var(--rule)}.faq__item:last-child{border-bottom:1px solid var(--rule)}.faq__q{cursor:pointer;gap:var(--space-sm);padding-block:var(--space-lg);font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--ls-head);color:var(--ink);align-items:flex-start;padding-inline-end:28px;list-style:none;display:flex;position:relative}.faq__q::-webkit-details-marker{display:none}.faq__q:after{content:"+";inset-inline-end:0;top:var(--space-lg);font-weight:var(--fw-regular);color:var(--ink-faint);font-size:20px;line-height:calc(var(--fs-base) * var(--lh-snug));position:absolute}.faq__item[open] .faq__q:after{content:"−"}.faq__a{gap:var(--space-sm);padding-bottom:var(--space-lg);font-size:var(--fs-sm);line-height:var(--lh-read);letter-spacing:var(--ls-read);color:var(--ink-soft);align-items:flex-start;display:flex}.faq__mark{border-radius:var(--radius);width:24px;height:24px;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:0;background:var(--qa-mark-bg);color:var(--qa-mark-fg);flex:none;justify-content:center;align-items:center;margin-block-start:2px;line-height:1;display:inline-flex}.faq__mark--a{background:var(--paper-2);color:var(--ink-faint)}.article-signature{margin-block:var(--space-lg);color:var(--ink-faint);font-size:var(--fs-sm)}@media (hover:hover) and (pointer:fine){.article-signature a:hover{color:var(--brand);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}}.related{margin-bottom:var(--space-2xl)}.related__title{margin-bottom:var(--space-lg)}.asset-link{margin-block:var(--space-xl);padding:var(--space-lg);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius)}.asset-link .asset-link__label{margin:0 0 var(--space-xs);font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-meta);color:var(--ink-faint)}.asset-link__link{color:var(--ink);display:block}.asset-link__title{font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:var(--fs-md);line-height:var(--lh-tight);letter-spacing:var(--ls-head);overflow-wrap:anywhere;text-wrap:balance}.asset-link__arrow{white-space:nowrap;margin-inline-start:.4em}.asset-link .asset-link__desc{margin:var(--space-xs) 0 0;font-size:var(--fs-sm);line-height:var(--lh-read);letter-spacing:var(--ls-read);color:var(--ink-soft);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (hover:hover) and (pointer:fine){.asset-link__link:hover{color:var(--brand)}.asset-link__link:hover .asset-link__title{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}}.sidebar--sticky{margin-top:0;display:none}.sidebar__helpers{gap:var(--space-xl);margin-top:var(--space-xl);flex-direction:column;display:flex}.toc-side ol{flex-direction:column;display:flex}.toc-side li{border-top:1px solid var(--rule)}.toc-side li:first-child{border-top:none}.toc-side a{gap:var(--space-sm);min-height:44px;font-size:var(--fs-sm);font-weight:var(--fw-regular);letter-spacing:var(--ls-head);color:var(--ink-soft);grid-template-columns:2px minmax(0,1fr);align-items:center;padding-block:10px;line-height:24px;display:grid}.toc-side a:before{content:"";border-radius:var(--radius-sm);background:0 0;width:2px;height:24px}.toc-side a.is-current{color:var(--ink);font-weight:var(--fw-bold)}.toc-side a.is-current:before{background:var(--brand)}@media (hover:hover) and (pointer:fine){.toc-side a:hover{color:var(--brand)}}.article-mobile-toc{display:none}@media (max-width:63.999rem){.article-mobile-toc[data-visible=true]{display:block}.article-mobile-toc__bar{top:var(--safe-area-top);z-index:30;height:48px;padding-inline:max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));background:var(--surface);border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:fixed;inset-inline:0}.article-mobile-toc__current{min-width:0;color:var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;line-height:24px;overflow:hidden}.article-mobile-toc__button{min-width:56px;min-height:44px;color:var(--ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0;border:0;margin-inline-end:-8px;padding:0 8px}.article-mobile-toc__overlay{top:calc(var(--safe-area-top) + 48px);z-index:29;background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);max-height:70dvh;position:fixed;inset-inline:18px;overflow-y:auto}.article-mobile-toc__overlay li+li{border-top:1px solid var(--rule)}.article-mobile-toc__overlay a{align-items:center;gap:var(--space-sm);min-height:48px;color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-regular);grid-template-columns:2px minmax(0,1fr);padding:12px 16px;line-height:24px;display:grid}.article-mobile-toc__overlay a:before{content:"";border-radius:var(--radius-sm);background:0 0;width:2px;height:24px}.article-mobile-toc__overlay a.is-current{color:var(--ink);font-weight:var(--fw-bold)}.article-mobile-toc__overlay a.is-current:before{background:var(--brand)}.article-mobile-toc__overlay a:focus-visible{outline-offset:-3px}}@media (min-width:48rem){.breadcrumb li[aria-current]{display:inline}}@media (min-width:64rem){.article-layout__grid{gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;display:grid}.article-main{align-self:start;max-width:44rem}.toc-inline{display:none}.sidebar--sticky{align-self:stretch;min-width:0;display:block}.sidebar--sticky .toc-side{top:var(--space-lg);z-index:1;background:var(--paper);max-height:calc(100dvh - 48px);position:sticky;overflow-y:auto}.sidebar--sticky .sidebar__helpers{margin-top:var(--space-xl)}.article-body h2,.article-body h3{scroll-margin-top:40px}.related .card-grid{gap:var(--space-xl) var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.related .thumb{aspect-ratio:auto;height:150px}}
