.lg-page{isolation:isolate;background:var(--bg-color);min-height:100dvh;color:var(--text-color);position:relative}.lg-shell{width:100%;max-width:1320px;margin-inline:auto;padding-block:clamp(104px,8vw,128px) clamp(40px,5vw,72px);padding-inline:clamp(20px,4vw,56px)}.lg-back{color:var(--color-primary);align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.lg-back:hover{text-decoration:underline}.lg-header{border-bottom:1px solid var(--border-color);margin-top:clamp(28px,4vw,44px);padding-bottom:clamp(28px,4vw,40px)}.lg-title{letter-spacing:-.028em;color:var(--text-color);text-wrap:balance;margin:0;font-size:clamp(2rem,4.2vw,3.1rem);font-weight:700;line-height:1.08}.lg-updated{color:var(--text-muted);margin:10px 0 0;font-size:13.5px}.lg-intro{max-width:78ch;color:var(--text-muted);text-wrap:pretty;flex-direction:column;gap:12px;margin-top:clamp(18px,2.4vw,26px);font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.72;display:flex}.lg-body{gap:clamp(32px,4vw,64px);padding-top:clamp(32px,4vw,52px);display:grid}@media (min-width:1024px){.lg-body{grid-template-columns:300px minmax(0,1fr);align-items:start}}.lg-toc{position:static}@media (min-width:1024px){.lg-toc{max-height:calc(100dvh - 136px);padding-right:8px;position:sticky;top:104px;overflow-y:auto}}.lg-toc-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 14px;font-size:11px;font-weight:700}.lg-toc ol{counter-reset:lgtoc;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.lg-toc li{counter-increment:lgtoc}.lg-toc a{color:var(--text-muted);border-radius:8px;grid-template-columns:1.6rem minmax(0,1fr);gap:4px;padding:7px 10px 7px 14px;font-size:13.5px;line-height:1.4;text-decoration:none;transition:background .18s,color .18s;display:grid}.lg-toc a:before{content:counter(lgtoc) ".";font-variant-numeric:tabular-nums;color:var(--text-subtle)}.lg-toc-list{position:relative}.lg-toc-marker{background:var(--color-primary);will-change:transform;border-radius:2px;width:2px;transition:transform .42s cubic-bezier(.32,.72,0,1),height .42s cubic-bezier(.32,.72,0,1);position:absolute;top:0;left:0}.lg-toc a[aria-current]{color:var(--color-primary);font-weight:600}.lg-toc a[aria-current]:before{color:var(--color-primary)}@media (prefers-reduced-motion:reduce){.lg-toc-marker{transition:none}}.lg-toc a:hover{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, transparent)}.lg-content{max-width:74ch;color:var(--text-muted);flex-direction:column;gap:clamp(36px,4vw,52px);font-size:clamp(.97rem,1.15vw,1.06rem);line-height:1.78;display:flex}.lg-content p{text-wrap:pretty;margin:0}.lg-art{flex-direction:column;gap:14px;scroll-margin-top:28px;display:flex}.lg-art>h2{letter-spacing:-.02em;color:var(--text-color);border-bottom:1px solid var(--border-color);text-wrap:balance;margin:0;padding-bottom:12px;font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:700;line-height:1.22}.lg-sub{flex-direction:column;gap:10px;padding-top:6px;display:flex}.lg-sub>h3{letter-spacing:-.008em;color:var(--text-color);margin:0;font-size:1.02rem;font-weight:600}.lg-content ul{flex-direction:column;gap:10px;margin:0;padding-left:1.35rem;display:flex}.lg-content li{text-wrap:pretty}.lg-content b{color:var(--text-color);font-weight:600}.lg-content a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.lg-key{border-left:2px solid var(--color-primary);background:color-mix(in srgb, var(--color-primary) 5%, transparent);border-radius:0 10px 10px 0;padding:14px 18px}.lg-todo{border-left:2px solid var(--color-warning);background:color-mix(in srgb, var(--color-warning) 8%, transparent);border-radius:0 10px 10px 0;padding:14px 18px;font-size:.94rem}.lg-todo b,.dark .lg-todo b{color:var(--color-warning)}.lg-foot{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:24px;margin-top:clamp(44px,5vw,72px);padding-top:clamp(24px,3vw,32px);font-size:14px;display:flex}.lg-page ::selection{background:color-mix(in srgb, var(--color-primary) 22%, transparent);color:var(--text-color)}.lg-page a:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){.lg-page *{transition-duration:1ms!important}}
