.lg{--lg-ink:hsl(var(--foreground));--lg-mut:hsl(var(--muted-foreground));--lg-line:hsl(var(--border));--lg-card:hsl(var(--card));--lg-accent:#6d28d9;--lg-grid:#4f46e517;gap:28px;display:grid}.dark .lg{--lg-accent:#c4b5fd;--lg-grid:#a5b4fc14}.lg-crumbs{color:var(--lg-mut);flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px;font-weight:600;display:flex}.lg-crumbs a{min-height:44px;color:var(--lg-mut);align-items:center;font-weight:700;display:inline-flex}.lg-crumbs a:hover{color:var(--lg-ink)}.lg-crumbs svg{width:15px;height:15px}.lg-crumbs [aria-current]{color:var(--lg-ink);font-weight:750}.lg-head{border:1px solid var(--lg-line);background:var(--lg-card);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -48px #1e1b4b80}.lg-head-plot{border-bottom:1px solid var(--lg-line);background:linear-gradient(var(--lg-grid) 1px, transparent 1px) 0 0 / 20px 20px, linear-gradient(90deg, var(--lg-grid) 1px, transparent 1px) 0 0 / 20px 20px, linear-gradient(110deg, #7c3aed24, #2563eb14 60%, transparent);height:72px}.lg-head-copy{padding:22px 20px 24px}@media (min-width:640px){.lg-head-copy{padding:28px 36px 32px}}.lg-kicker{color:var(--lg-ink);align-items:center;gap:8px;font-size:14px;font-weight:800;display:inline-flex}.lg-kicker>span{color:#fff;background:var(--lg-accent);border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.dark .lg-kicker>span{color:#1e1b4b}.lg-kicker svg{width:16px;height:16px}.lg-head h1{letter-spacing:-.04em;color:var(--lg-ink);text-wrap:balance;margin-top:12px;font-size:clamp(32px,4.6vw,52px);font-weight:900;line-height:1.05}.lg-updated{min-height:32px;color:var(--lg-ink);background:hsl(var(--muted) / .7);border-radius:999px;align-items:center;gap:.3em;margin-top:10px;padding:0 12px;font-size:13.5px;font-weight:750;display:inline-flex}.lg-intro{max-width:46rem;color:var(--lg-mut);gap:10px;margin-top:16px;font-size:16.5px;line-height:1.7;display:grid}.lg-intro a,.lg-prose a,.lg-more p a{color:var(--lg-ink);text-decoration:underline;-webkit-text-decoration-color:var(--lg-accent);text-decoration-color:var(--lg-accent);text-underline-offset:3px;font-weight:750}.lg-head-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.lg-ghost{min-height:44px;color:var(--lg-ink);background:var(--lg-card);border:1.5px solid var(--lg-line);border-radius:12px;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:800;transition:border-color .2s,box-shadow .25s;display:inline-flex}.lg-ghost svg{width:16px;height:16px}.lg-ghost:hover{border-color:var(--lg-accent);box-shadow:0 0 0 3px #7c3aed1f,0 0 20px -6px #7c3aed80}.lg-ghost:focus-visible,.lg-toc a:focus-visible,.lg-anchor:focus-visible,.lg-more a:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.lg-glance h2,.lg-more h2{letter-spacing:-.025em;color:var(--lg-ink);font-size:clamp(20px,2.2vw,26px);font-weight:900}.lg-glance ul,.lg-more ul{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}@media (min-width:640px){.lg-glance ul,.lg-more ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.lg-glance ul{grid-template-columns:repeat(4,minmax(0,1fr))}.lg-more ul{grid-template-columns:repeat(3,minmax(0,1fr))}}.lg-glance li,.lg-more a{background:var(--lg-card);border:1px solid var(--lg-line);height:100%;box-shadow:inset 0 3px 0 var(--gc,var(--lg-accent));border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 12px;padding:16px;display:grid}.lg-glance li>.lg-ico,.lg-more a>.lg-ico{grid-row:span 2}.lg-glance b,.lg-more b{color:var(--lg-ink);font-size:15px;font-weight:900;line-height:1.3}.lg-glance li>span:last-child,.lg-more a>span:last-child{color:var(--lg-mut);font-size:14px;line-height:1.55}.lg-ico{color:#fff;background:var(--gc,var(--lg-accent));border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.dark .lg-ico{color:#0f172a}.lg-ico svg{width:19px;height:19px}.lg-more a{color:inherit;transition:border-color .2s,box-shadow .25s,transform .25s}.lg-more a:hover{border-color:var(--gc,var(--lg-accent));box-shadow:inset 0 3px 0 var(--gc,var(--lg-accent)), 0 0 0 1px var(--gc,var(--lg-accent)), 0 0 28px -8px var(--gg,#7c3aed80)}@media (hover:hover){.lg-more a:hover{transform:translateY(-2px)}}.lg-more>p{color:var(--lg-mut);margin-top:14px;font-size:15px}.lg-body{align-items:start;gap:28px;display:grid}@media (min-width:1024px){.lg-body{grid-template-columns:270px minmax(0,1fr);gap:44px}}.lg-side{min-width:0}@media (min-width:1024px){.lg-side{max-height:calc(100vh - 120px);position:sticky;top:100px;overflow-y:auto}}.lg-toc{background:var(--lg-card);border:1px solid var(--lg-line);border-radius:20px;padding:16px}.lg-toc h2{color:var(--lg-ink);padding:0 6px 8px;font-size:13.5px;font-weight:900}.lg-toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.lg-toc a{min-height:44px;color:var(--lg-mut);border-radius:12px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;font-weight:700;line-height:1.3;transition:background-color .2s,color .2s;display:flex}.lg-toc a>span{width:26px;height:26px;color:var(--lg-ink);background:hsl(var(--muted));border-radius:8px;flex:none;place-items:center;font-size:12.5px;font-weight:900;transition:background-color .2s,color .2s;display:grid}.lg-toc a:hover{color:var(--lg-ink);background:hsl(var(--muted) / .6)}.lg-toc a[aria-current]{color:var(--lg-ink);background:#7c3aed1a}.lg-toc a[aria-current]>span{color:#fff;background:var(--lg-accent)}.dark .lg-toc a[aria-current]>span{color:#1e1b4b}@media (max-width:1023px){.lg-toc ol{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.lg-toc ol::-webkit-scrollbar{display:none}.lg-toc li{flex:none}.lg-toc a{border:1px solid var(--lg-line);white-space:nowrap;border-radius:999px;padding:4px 14px 4px 6px}}.lg-main{gap:14px;min-width:0;display:grid}.lg-sec{background:var(--lg-card);border:1px solid var(--lg-line);border-radius:24px;padding:24px 20px;scroll-margin-top:100px}@media (min-width:640px){.lg-sec{padding:28px 32px}}.lg-sec h2{letter-spacing:-.02em;color:var(--lg-ink);align-items:center;gap:12px;font-size:clamp(19px,2vw,23px);font-weight:900;line-height:1.25;display:flex}.lg-num{color:#fff;background:var(--gc,var(--lg-accent));border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font:italic 700 18px/1 KaTeX_Main,Cambria Math,Georgia,serif;display:grid}.dark .lg-num{color:#0f172a}.lg-sec-ico{width:20px;height:20px;color:var(--gc,var(--lg-accent));flex:none}.lg-anchor{width:44px;height:44px;color:var(--lg-mut);opacity:.55;border-radius:12px;flex:none;place-items:center;margin-left:auto;transition:opacity .2s,background-color .2s;display:grid}.lg-anchor svg{width:17px;height:17px}.lg-sec:hover .lg-anchor,.lg-anchor:focus-visible{opacity:1}.lg-anchor:hover{background:hsl(var(--muted));color:var(--lg-ink)}.lg-short{color:var(--lg-ink);background:var(--gt,hsl(var(--muted)));border-radius:14px;margin-top:14px;padding:12px 14px;font-size:15px;line-height:1.6}.lg-short b{font-weight:900}.lg-prose{max-width:72ch;color:var(--lg-mut);gap:12px;margin-top:14px;font-size:16px;line-height:1.75;display:grid}.lg-prose h3{color:var(--lg-ink);margin-top:6px;font-size:16.5px;font-weight:900}.lg-prose strong{color:var(--lg-ink);font-weight:800}.lg-prose ul,.lg-prose ol{gap:6px;margin:0;padding-left:1.25rem;display:grid}.lg-prose ul{list-style:outside}.lg-prose ol{list-style:decimal}.lg-prose li::marker{color:var(--gc,var(--lg-accent))}.lg-table{border:1px solid var(--lg-line);border-radius:14px;width:100%;overflow-x:auto}.lg-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px;line-height:1.5}.lg-table th,.lg-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--lg-line);padding:10px 12px}.lg-table th{color:var(--lg-ink);background:hsl(var(--muted) / .6);font-weight:900}.lg-table td{color:var(--lg-mut)}.lg-table tr:last-child td{border-bottom:0}.lg-table code{color:var(--lg-ink);font-size:13px;font-weight:700}@media (prefers-reduced-motion:reduce){.lg-ghost,.lg-more a,.lg-toc a,.lg-toc a>span,.lg-anchor{transition:none}.lg-more a:hover{transform:none}}@media print{.lg-head,.lg-sec,.lg-glance li{box-shadow:none;background:0 0;border:1px solid #ccc}.lg-body{grid-template-columns:1fr}.lg-head h1,.lg-sec h2,.lg-prose,.lg-prose strong{color:#000}}
