.lp.lg{--lg-meta:#5f5f5f;--lg-measure:680px;--lg-anchor-gap:104px}.lg-top{padding-top:100px;padding-bottom:40px}.lg-title{font-size:clamp(2rem, 4.4vw, var(--lp-t-h2));letter-spacing:-.05em;text-wrap:balance;margin:0;font-weight:500;line-height:1.1}.lg-standfirst{max-width:var(--lg-measure);letter-spacing:-.02em;color:var(--lp-ink-2);margin:20px 0 0;font-size:18px;line-height:28px}.lg-dateline{max-width:var(--lg-measure);font-size:var(--lp-t-small);line-height:var(--lp-t-small-lh);color:var(--lg-meta);margin:24px 0 0}.lg-dateline b{color:var(--lp-ink);font-weight:500}.lg-shell{grid-template-columns:1fr;gap:40px;padding-bottom:80px;display:grid}.lg-toc{border:1px solid var(--lp-rule);border-radius:var(--lp-r-card);background:var(--lp-paper);padding:20px 22px}.lg-toc h2{font-size:var(--lp-t-small);line-height:var(--lp-t-small-lh);letter-spacing:-.01em;color:var(--lg-meta);margin:0 0 12px;font-weight:500}.lg-toc ol{counter-reset:lg-toc;gap:2px;margin:0;padding:0;list-style:none;display:grid}.lg-toc li{counter-increment:lg-toc}.lg-toc a{color:var(--lp-ink-2);font-size:var(--lp-t-small);letter-spacing:-.01em;border-radius:8px;grid-template-columns:26px 1fr;gap:4px;margin-left:-6px;padding:5px 6px;line-height:20px;text-decoration:none;display:grid}.lg-toc a:before{content:counter(lg-toc) ".";color:var(--lg-meta);font-variant-numeric:tabular-nums}.lg-toc a:hover{background:var(--lp-paper-2);color:var(--lp-ink)}.lg-toc a:focus-visible{outline:2px solid var(--lp-ink);outline-offset:2px}.lg-doc{max-width:var(--lg-measure);counter-reset:lg-sec}.lg-sec{counter-increment:lg-sec;border-top:1px solid var(--lp-rule);scroll-margin-top:var(--lg-anchor-gap);margin-top:36px;padding-top:28px}.lg-sec:first-child{border-top:0;margin-top:0;padding-top:0}.lg-sec>h2{font-size:var(--lp-t-h3);line-height:var(--lp-t-h3-lh);letter-spacing:-.035em;text-wrap:balance;grid-template-columns:34px 1fr;margin:0 0 14px;font-weight:500;display:grid}.lg-sec>h2:before{content:counter(lg-sec) ".";color:var(--lg-meta);font-variant-numeric:tabular-nums;font-weight:400}.lg-sec h3{font-size:var(--lp-t-body);line-height:var(--lp-t-body-lh);letter-spacing:-.02em;margin:26px 0 8px;font-weight:500}.lg-sec p{font-size:var(--lp-t-body);letter-spacing:-.01em;color:var(--lp-ink-2);margin:0 0 14px;line-height:26px}.lg-sec p:last-child{margin-bottom:0}.lg-sec strong{color:var(--lp-ink);font-weight:500}.lg-sec ul{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.lg-sec li{font-size:var(--lp-t-body);letter-spacing:-.01em;color:var(--lp-ink-2);grid-template-columns:16px 1fr;line-height:26px;display:grid}.lg-sec li:before{content:"·";color:var(--lg-meta)}.lg-sec code{background:var(--lp-paper-2);border:1px solid var(--lp-rule);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.lg-sec a{color:var(--lp-ink);text-underline-offset:3px;text-decoration:underline}.lg-sec a:hover{text-decoration-thickness:2px}.lg-note{background:var(--lp-paper-2);border:1px solid var(--lp-rule);border-radius:var(--lp-r-card);margin:0 0 14px;padding:18px 20px}.lg-note p:last-child{margin-bottom:0}.lg-defs{gap:14px;margin:0 0 14px;display:grid}.lg-def>dt{font-size:var(--lp-t-body);line-height:var(--lp-t-body-lh);letter-spacing:-.02em;color:var(--lp-ink);margin:0 0 3px;font-weight:500}.lg-def>dd{font-size:var(--lp-t-small);letter-spacing:-.01em;color:var(--lp-ink-2);margin:0;line-height:22px}.lg-foot{border-top:1px solid var(--lp-rule);font-size:var(--lp-t-small);color:var(--lg-meta);max-width:var(--lg-measure);margin-top:40px;padding-top:24px;line-height:22px}.lg-foot a{color:var(--lp-ink);text-underline-offset:3px;text-decoration:underline}@media (min-width:1024px){.lg-shell{grid-template-columns:272px minmax(0,1fr);align-items:start;gap:72px}.lg-toc{top:var(--lg-anchor-gap);max-height:calc(100vh - var(--lg-anchor-gap) - 32px);overscroll-behavior:contain;align-self:start;position:sticky;overflow-y:auto}}@media (max-width:560px){.lg-top{padding-top:88px}.lg-title{letter-spacing:-.04em}.lg-standfirst{font-size:17px;line-height:27px}.lg-sec>h2{grid-template-columns:28px 1fr;font-size:20px;line-height:28px}.lg-toc,.lg-note{padding:16px 18px}}
